적용 대상:
Databricks SQL
Databricks Runtime 18.3 이상으로 표시
테이블 수준 통계 및 선택적으로 열별 통계를 포함하여 테이블에 대한 최적화 프로그램 통계를 JSON 문서로 반환합니다.
Databricks는 SHOW STATISTICS 프로그래밍 방식으로 최적화 프로그램 통계를 읽는 것이 좋습니다. 확장에 포함된 스키마, 스토리지, 속성, 파티션 및 기타 메타데이터 없이 통계만 반환합니다.DESCRIBE TABLE AS JSON. 사용 ANALYZE TABLE ... 이 명령이 보고하는 통계를 수집하기 위한 COMPUTE STATISTICS(또는 예측 최적화)입니다.
필요한 권한
Unity 카탈로그 테이블에서 실행 SHOW STATISTICS 하려면 다음이 필요합니다.
-
USE CATALOG부모 카탈로그에 있습니다. -
USE SCHEMA을 선택합니다. -
SELECT테이블 또는 테이블의 소유권입니다.
Syntax
SHOW STATISTICS [ { FROM | IN } ] table_name
[ FOR COLUMNS column_name [, ...] | FOR ALL COLUMNS ]
AS JSON
FROM 키워드 및 IN 키워드는 선택 사항이며 서로 교환할 수 있습니다.
매개 변수
-
통계를 보고할 테이블을 식별합니다. 이름에는 임시 사양 또는 옵션 사양이 포함되어서는 안됩니다.
테이블을 찾을 수 없으면 Azure Databricks TABLE_OR_VIEW_NOT_FOUND 오류가 발생합니다.
보기(임시 또는 영구)는 지원되지 않습니다. 뷰에서 호출하면
SHOW STATISTICSEXPECT_TABLE_NOT_VIEW.NO_ALTERNATIVE가 발생합니다. 메타데이터 보기에 사용합니다DESCRIBE EXTENDED. FOR COLUMNScolumn_name [, ...]
명명된 각 열에
statistics.column_statistics대한 항목을 추가합니다.테이블에 명명된 열이 없으면 명령이 COLUMN_NOT_FOUND 발생합니다.
FOR ALL COLUMNS
테이블의 모든 원자성 형식 최상위 열에 대한 항목을
statistics.column_statistics추가합니다.최적화 프로그램이 복합 형식에 대한 통계를 수집하지 않으므로 데이터 형식이 STRUCT, ARRAY 또는 MAP 인 열은 제외됩니다. 중첩된 필드는 열거되지 않습니다.
AS JSON
Required. 결과는 단일 JSON 형식으로 반환됩니다
STRING.
JSON 형식 출력
반환된 JSON 문서에서는 다음 스키마를 사용합니다.
{
"table_name": "<table_name>",
"catalog_name": "<catalog_name>",
"namespace": ["<schema_name>"],
"schema_name": "<schema_name>",
"statistics": {
"size_in_bytes": <bytes>,
"num_rows": <count>,
"collection_source": "<collection_source>",
"created_at": "<created_at_timestamp>",
"column_statistics": {
"<column_name>": {
"min": "<min_value>",
"max": "<max_value>",
"distinct_count": <count>,
"num_nulls": <count>,
"avg_len": <bytes>,
"max_len": <bytes>,
"has_histogram": <boolean>,
"has_mcv": <boolean>,
"has_kll_sketch": <boolean>
}
}
}
}
statistics.size_in_bytes
최적화 프로그램에서 알려진 테이블 데이터의 총 크기(바이트)입니다. 테이블 수준 통계가 없는 경우 생략됩니다.
statistics.num_rows
최적화 프로그램이라고 하는 행 수입니다.
null수집되지 않은 경우statistics.collection_source
테이블 수준 통계가 생성된 방법. 다음 중 하나입니다.
-
수동 분석 - 에 의해
ANALYZE TABLE ... COMPUTE STATISTICS수집됩니다. - 자동 통계 - 쓰기 중에 자동으로 수집됩니다.
- 예측 분석 - 예측 최적화를 통해 수집됩니다.
- 알 수 없음 - 인식할 수 없는 원본에 의해 수집됩니다.
-
null- 테이블 수준 통계를 사용할 수 없습니다.
-
수동 분석 - 에 의해
statistics.created_at
테이블 수준 통계가 수집된 경우 ISO 8601 UTC 타임스탬프(예:
2026-05-29T08:14:24.845Z)입니다.null수집되지 않은 경우statistics.column_statistics
지정된 경우에만
FOR COLUMNSFOR ALL COLUMNS포함됩니다. 요청된 각 열을 열별 통계에 매핑합니다.수집되지 않은 경우 다음 필드가
null항상 존재합니다.- min, max - JSON 문자열로 렌더링되는 최소 및 최대값입니다.
-
distinct_count - 고유 값(
NDV)의 수입니다. -
num_nulls - 값 수
NULL입니다. - avg_len, max_len 평균 및 최대 값 길이(바이트)입니다.
-
has_histogram -
true열에 등 높이 히스토그램을 사용할 수 있는 경우입니다.
다음 필드는 해당 스케치 컬렉션을 사용하도록 설정한 경우에만 표시되고, 그렇지 않으면 생략됩니다.
-
has_mcv -
true열에 가장 일반적인 값 목록을 사용할 수 있는 경우입니다. -
has_kll_sketch -
true열에 KLL 스케치를 사용할 수 있는 경우
Examples
-- Set up a table and collect column statistics.
> CREATE TABLE customer(cust_id INT, name STRING, state STRING) USING parquet;
> INSERT INTO customer VALUES (100, 'Mike', 'AR'), (200, 'Jane', 'CA');
> ANALYZE TABLE customer COMPUTE STATISTICS FOR ALL COLUMNS;
-- Table-level statistics only.
> SHOW STATISTICS FROM customer AS JSON;
{"table_name":"customer","catalog_name":"spark_catalog",
"namespace":["default"],"schema_name":"default",
"statistics":{"size_in_bytes":864,"num_rows":2,
"collection_source":"Manual Analyze",
"created_at":"2026-05-29T08:14:24.845Z"}}
-- Per-column statistics for a list of columns.
> SHOW STATISTICS FROM customer FOR COLUMNS cust_id, name AS JSON;
{"table_name":"customer","catalog_name":"spark_catalog",
"namespace":["default"],"schema_name":"default",
"statistics":{"size_in_bytes":864,"num_rows":2,
"collection_source":"Manual Analyze",
"created_at":"2026-05-29T08:14:24.845Z",
"column_statistics":{
"cust_id":{"min":"100","max":"200","distinct_count":2,"num_nulls":0,
"avg_len":4,"max_len":4,"has_histogram":false,"has_mcv":false},
"name": {"min":"Jane","max":"Mike","distinct_count":2,"num_nulls":0,
"avg_len":4,"max_len":4,"has_histogram":false,"has_mcv":false}}}}
-- All atomic top-level columns. STRUCT, ARRAY, and MAP columns are skipped.
> SHOW STATISTICS FROM customer FOR ALL COLUMNS AS JSON;