Sintaxe do Pipeline SQL
Aplica-se a: Databricks Runtime 16.2 e posteriores
O Azure Databricks dá suporte à sintaxe de pipeline do SQL que permite a composição de consultas de combinações de operadores encadeados.
- Qualquer consulta pode ter nenhum ou mais operadores de pipe como sufixo, delimitados pelo caractere de pipe
|>
. - Cada operação encanada começa com uma ou mais palavras-chave SQL seguidas pela própria gramática.
- Os operadores podem se aplicar em qualquer ordem qualquer número de vezes.
- Normalmente, FROM relation_name é usado para iniciar um pipeline, mas qualquer consulta pode iniciar um pipeline.
Sintaxe
{ FROM | TABLE } relation_name { |> piped_operation } [ ...]
Parâmetros
-
Identifica uma tabela ou exibição a ser usada como a entrada para o pipeline. Se a tabela ou exibição não puder ser encontrada, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND.
-
Uma operação que consome a consulta ou a operação de pipe anterior. Confira piped_operation para obter detalhes.
Exemplo
Essa é a consulta 13 do parâmetro de comparação TPC-H escrito no SQL ANSI:
> 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;
Para escrever a mesma lógica usando operadores de pipe SQL, você pode expressá-la desta forma:
> 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;