다음을 통해 공유


CLUSTER BY 절(TABLE)

적용 대상:예로 표시된 확인Databricks SQL 예로 표시된 확인 Databricks Runtime 13.3 LTS 이상 예로 표시된 확인 Delta Lake만 해당

관계의 액체 다차원 클러스터링을 정의합니다.

Azure Databricks는 모든 Unity 카탈로그 관리 테이블에 대해 자동 액체 클러스터링 및 예측 최적화를 사용하는 것이 좋습니다. 이러한 기능은 데이터 사용 패턴에 따라 데이터 레이아웃을 지능적으로 최적화합니다.

다음과 같은 경우 이 절을 사용할 수 있습니다.

  • CREATE TABLE사용하여 테이블을 만듭니다.

  • ALTER TABLE 사용하여 테이블을 변경하여 클러스터링 열을 변경합니다.

    변경된 클러스터링 열이 있는 행을 클러스터링하려면 OPTIMIZE실행해야 합니다. 이전 클러스터링 열에 의해 클러스터된 행은 영향을 받지 않습니다.

    구체화된 뷰 또는 스트리밍 테이블 ALTER TABLE의 클러스터링 열은 변경할 수 없습니다.

  • 를 사용하여 구체화된 뷰를 만듭니다 CREATE MATERIALIZED VIEW.

  • CREATE STREAMING TABLE사용하여 스트리밍 테이블을 만듭니다.

업데이트된 행은 자동으로 다시 클러스터되지 않습니다. 실행 OPTIMIZE 하여 업데이트된 행을 다시 클러스터합니다.

액체 클러스터링에 대한 자세한 내용은 테이블에 액체 클러스터링 사용을 참조하세요.

구문

CLUSTER BY { ( column_name [, ...] ) |
             AUTO |
             NONE }

매개 변수

  • column_name

    데이터를 클러스터할 관계의 열을 지정합니다. 열 순서는 중요하지 않습니다. 클러스터링 변경을 활용하려면 OPTIMIZE실행해야 합니다.

  • AUTO

    적용 대상:확인 표시된 예 Databricks SQL 확인 표시된 예 Databricks Runtime 15.4 이상

    Delta Lake가 시간이 지남에 따라 클러스터에 가장 적합한 열을 자동으로 결정하도록 지시합니다. 액체 클러스터링에 대한 자세한 내용은 테이블에 액체 클러스터링 사용을 참조하세요.

  • NONE

    변경되는 관계의 클러스터링을 해제합니다. 새로 삽입되거나 업데이트된 데이터는 OPTIMIZE에 의해 클러스터링되지 않습니다. 관계를 만들 때 클러스터링을 사용하지 않려면 절을 생략합니다 CLUSTER BY .

예제

테이블에 액체 클러스터링 사용에서 더 많은 예제를 찾을 수 있습니다.

-- Create a table with a clustering column
> CREATE TABLE t(a int, b string) CLUSTER BY (a);

-- The clustering of an existing Delta table to add a second dimension
> ALTER TABLE t CLUSTER BY (a, b);

-- Recluster the table
> OPTIMIZE t;

-- Remove the clustering
> ALTER TABLE t CLUSTER BY NONE;