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, die das Erstellen von Abfragen aus Kombinationen von verketteten Operatoren ermöglicht.
- Jede Abfrage kann null oder mehr Pipe-Operatoren als Suffix aufweisen, die durch das Pipezeichen (
|>
) getrennt sind. - 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 } [ ...]
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 TABLE_OR_VIEW_NOT_FOUND Fehler 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;