Składnia potoku SQL
Dotyczy: Databricks Runtime 16.2 lub nowsze
Usługa Azure Databricks obsługuje składnię potoku SQL, która umożliwia tworzenie zapytań z kombinacji operatorów łańcuchowych.
- Każde zapytanie może mieć zero lub więcej operatorów potoku jako sufiks, oddzielony znakiem potoku
|>
. - Każda operacja potokowa rozpoczyna się od jednego lub więcej słów kluczowych SQL, po czym następuje jej własna składnia.
- Operatory mogą być stosowane w dowolnej kolejności, dowolną liczbę razy.
- Zazwyczaj z relation_name służy do uruchamiania potoku, ale dowolne zapytanie może uruchomić potok.
Składnia
{ FROM | TABLE } relation_name { |> piped_operation } [ ...]
Parametry
-
Identyfikuje tabelę lub widok, który ma być używany jako dane wejściowe dla potoku. Jeśli nie można odnaleźć tabeli lub widoku, usługa Azure Databricks zgłasza błąd TABLE_OR_VIEW_NOT_FOUND.
-
Operacja zużywająca poprzednią operację zapytania lub potoku. Aby uzyskać szczegółowe informacje, zobacz piped_operation.
Przykład
Jest to zapytanie 13 z testu porównawczego TPC-H napisanego w usłudze ANSI SQL:
> 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;
Aby napisać tę samą logikę przy użyciu operatorów potoków SQL, możesz wyrazić to w następujący sposób:
> 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;
Powiązane artykuły
- Zapytanie
- operacji potokowej