SYSTEM$CLUSTERING_INFORMATION
SYSTEM$CLUSTERING_INFORMATION
SYSTEM$CLUSTERING_INFORMATION() 함수는 테이블의 하나 이상의 컬럼을 기반으로, 평균 클러스터링 깊이와 Automatic Clustering 버전을 포함한 클러스터링 정보를 반환해요.
본문
문법
SYSTEM$CLUSTERING_INFORMATION( '<table_name>'
[ , { '( <expr1> [ , <expr2> ... ] )' | <number_of_errors> } ] )
사용 메모
- 함수의 두 번째 인자는 컬럼 이름/표현식 또는 오류 수를 지정해요. 단일 함수 호출에 두 인자를 모두 포함할 수 없어요.
- 테이블 이름, 컬럼 이름, 표현식은 문자열이므로 작은따옴표로 감싸야 해요.
- Optima Clustering을 사용하는 테이블에서는 다음 필드를 사용할 수 없어요. Optima Clustering에 대한 자세한 내용은 Optima Clustering을 참고하세요.
반환
이 함수는 VARCHAR 타입 값을 반환해요.
반환된 문자열은 JSON 형식이며 다음 이름/값 쌍을 포함해요.
마이크로 파티션 겹침과 깊이, 그리고 이들이 쿼리 프루닝(pruning)에 미치는 영향에 대한 자세한 내용은 Snowflake 테이블 구조 이해를 참고하세요.
예제
가장 최근 클러스터링 오류 5개를 반환해요.
SELECT SYSTEM$CLUSTERING_INFORMATION('t1', 5);
테이블의 두 컬럼을 사용해 테이블의 클러스터링 정보를 반환해요.
SELECT SYSTEM$CLUSTERING_INFORMATION('test2', '(col1, col3)');
+--------------------------------------------------------------------+
| SYSTEM$CLUSTERING_INFORMATION('TEST2', '(COL1, COL3)') |
|--------------------------------------------------------------------|
| { |
| "cluster_by_keys" : "LINEAR(COL1, COL3)", |
| "version" : "CLASSIC", |
| "total_partition_count" : 1156, |
| "total_constant_partition_count" : 0, |
| "average_overlaps" : 117.5484, |
| "average_depth" : 64.0701, |
| "partition_depth_histogram" : { |
| "00000" : 0, |
| "00001" : 0, |
| "00002" : 3, |
| "00003" : 3, |
| "00004" : 4, |
| "00005" : 6, |
| "00006" : 3, |
| "00007" : 5, |
| "00008" : 10, |
| "00009" : 5, |
| "00010" : 7, |
| "00011" : 6, |
| "00012" : 8, |
| "00013" : 8, |
| "00014" : 9, |
| "00015" : 8, |
| "00016" : 6, |
| "00032" : 98, |
| "00064" : 269, |
| "00128" : 698 |
| }, |
| "clustering_errors" : [ { |
| "timestamp" : "2023-04-03 17:50:42 +0000", |
| "error" : "(003325) Clustering service has been disabled.\n" |
| } |
| ] |
| } |
+--------------------------------------------------------------------+
이 예제는 다음과 같은 이유로 test2 테이블이 잘 클러스터링되지 않았음을 나타내요.
제한 사항
테이블에 파티션이 2백만 개보다 많으면:
- 함수의 결과는 테이블 파티션의 일부를 기반으로 해요.
- 출력의
total_partition_count필드 값은 2백만이에요.