다음을 통해 공유


SQL 파이프라인 구문

적용 대상:은 체크 표시됨 Databricks Runtime 16.2 이상

Azure Databricks는 연결된 연산자의 조합으로 쿼리를 작성할 수 있는 SQL 파이프라인 구문을 지원합니다.

  • 모든 쿼리는 파이프 문자 |>로 구분된 접미사로 0개 이상의 파이프 연산자를 포함할 수 있습니다.
  • 파이프 작업에는 하나 이상의 SQL 키워드와 해당 작업의 문법이 포함되어 시작됩니다.
  • 연산자는 순서에 따라 여러 번 적용할 수 있습니다.
  • 일반적으로 FROM relation_name 파이프라인을 시작하는 데 사용되지만 쿼리 파이프라인을 시작할 수 있습니다.

통사론

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

매개 변수

  • relation_name

    파이프라인의 입력으로 사용할 테이블 또는 뷰를 식별합니다. 테이블 또는 뷰를 찾을 수 없으면 Azure Databricks에서 TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.

  • piped_operation

    이전 쿼리 또는 파이프 작업을 소비하는 작업입니다. 자세한 내용은 piped_operation 참조하세요.

본보기

ANSI SQL로 작성된 TPC-H 벤치마크의 쿼리 13입니다.

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

SQL 파이프 연산자를 사용하여 동일한 논리를 작성하려면 다음과 같이 표현할 수 있습니다.

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