Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 16.2 und höher
Azure Databricks unterstützt die SQL-Pipelinesyntax, mit der Abfragen aus Kombinationen von verketteten Operatoren erstellt werden können.
- Jede Abfrage kann null oder mehr Pipeoperatoren als Suffix aufweisen, durch das Pipetoken
|>(oder|in Databricks Runtime 18.0 oder höher) delineiert werden. - Jeder gepipete Vorgang beginnt mit einem oder mehreren SQL-Schlüsselwörtern, gefolgt von einer eigenen Grammatik.
- Operatoren können in beliebiger Reihenfolge und beliebig oft angewendet werden.
- In der Regel wird FROM relation_name verwendet, um eine Pipeline zu starten, aber eine beliebige Abfrage kann ebenfalls eine Pipeline starten.
Syntax
{ FROM | TABLE } relation_name { |> piped_operation } [ ...]
In Databricks Runtime 18.0 und höher können | Sie anstelle von |>:
{ FROM | TABLE } relation_name { | piped_operation } [ ...]
Parameter
-
Gibt eine Tabelle oder Ansicht an, die als Eingabe für die Pipeline verwendet werden soll. Wenn die Tabelle oder Ansicht nicht gefunden werden kann, löst Azure Databricks einen Fehler TABLE_OR_VIEW_NOT_FOUND aus.
-
Ein Vorgang, der den vorhergehenden Abfrage- oder Pipevorgang verwendet. Ausführliche Informationen finden Sie unter piped_operation.
Beispiel
Dies ist Abfrage 13 aus dem in ANSI SQL geschriebenen TPC-H Benchmark:
> SELECT c_count, COUNT(*) AS custdist
FROM
(SELECT c_custkey, COUNT(o_orderkey) c_count
FROM customer
LEFT OUTER JOIN orders ON c_custkey = o_custkey
AND o_comment NOT LIKE '%unusual%packages%'
GROUP BY c_custkey
) AS c_orders
GROUP BY c_count
ORDER BY custdist DESC, c_count DESC;
Wenn Sie dieselbe Logik mithilfe von SQL-Pipeoperatoren schreiben möchten, können Sie sie wie folgt ausdrücken:
> FROM customer
|> LEFT OUTER JOIN orders ON c_custkey = o_custkey
AND o_comment NOT LIKE '%unusual%packages%'
|> AGGREGATE COUNT(o_orderkey) c_count
GROUP BY c_custkey
|> AGGREGATE COUNT(*) AS custdist
GROUP BY c_count
|> ORDER BY custdist DESC, c_count DESC;