統計の表示

適用対象:はい Databricks SQL チェックが Databricks Runtime 18.3 以降" とマークされているチェック

テーブル レベルの統計や必要に応じて列ごとの統計など、テーブルのオプティマイザー統計を JSON ドキュメントとして返します。

Databricks では、オプティマイザー統計をプログラムで読み取るための SHOW STATISTICS をお勧めします。 スキーマ、ストレージ、プロパティ、パーティション、その他のメタデータが含まれていない統計のみが返 DESCRIBE TABLE EXTENDED ...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キーワードは省略可能であり、交換可能です。

Parameters

  • table_name

    統計を報告するテーブルを識別します。 この名前には、テンポラル指定やオプション指定を含めないでください。

    テーブルが見つからない場合、Azure DatabricksはTABLE_OR_VIEW_NOT_FOUND エラーを発生させます。

    ビュー (一時的または永続的) はサポートされていません。 ビューで SHOW STATISTICS を呼び出すと 、EXPECT_TABLE_NOT_VIEW.NO_ALTERNATIVE が発生します。 ビュー メタデータには DESCRIBE EXTENDED を使用します。

  • FOR COLUMNScolumn_name [, ...]

    各名前付き列の statistics.column_statistics にエントリを追加します。

    テーブルに名前付き列が存在しない場合、コマンドは COLUMN_NOT_FOUNDを発生させます。

  • FOR ALL COLUMNS

    テーブルのすべてのアトミック型の最上位列の statistics.column_statistics にエントリを追加します。

    オプティマイザーは複合型の統計を収集しないため、データ型が STRUCTARRAY、または 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 COLUMNSまたはFOR ALL COLUMNSが指定されている場合にのみ含まれます。 要求された各列を列ごとの統計情報にマップします。

    次のフィールドは常に存在し、収集されない場合は null されます。

    • minmax — 最小値と最大値。JSON 文字列としてレンダリングされます。
    • distinct_count — 個別の値の数 (NDV)。
    • num_nullsNULL 値の数。
    • avg_lenmax_len — 平均値と最大値の長さ (バイト単位)。
    • has_histogram — 列に対して等高ヒストグラムを使用できるかどうかを true します。

    次のフィールドは、対応するスケッチ コレクションが有効な場合にのみ表示され、それ以外の場合は省略されます。

    • has_mcv — 最も一般的な値の一覧が列に使用できるかどうかを true します。
    • has_kll_sketch — 列に KLL スケッチが使用できるかどうかを true します。

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