Partilhar via


Sintaxe do pipeline SQL

Aplica-se a:sinal de verificação sim Databricks SQL sinal de verificação sim Databricks Runtime 16.2 e superior

O Azure Databricks suporta sintaxe de pipeline SQL, que permite compor consultas a partir de combinações de operadores em cadeia.

  • Qualquer consulta pode ter zero ou mais operadores de pipe como sufixo, delineados pelo token |> de pipe (ou | no Databricks Runtime 18.0 ou superior).
  • Cada operação canalizada começa com uma ou mais palavras-chave SQL seguidas por sua própria gramática.
  • Os operadores podem candidatar-se 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 } [ ...]

No Databricks Runtime 18.0 e superiores, pode usar | em substituição de |>:

{ FROM | TABLE } relation_name { | piped_operation } [ ...]

Parâmetros

Exemplo

Esta é a consulta 13 do benchmark TPC-H escrito em 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;

Para escrever a mesma lógica usando operadores de pipe SQL, você pode expressá-la assim:

> 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;