ПОКАЗАТЬ СТАТИСТИКУ

Область применения:check помечена да , проверка Databricks SQL помечено да Databricks Runtime 18 LTS и выше

Note

Databricks Runtime 18 является более новым, чем Databricks Runtime 18.0, 18.1 и 18.2. Функции, которые ранее были отправлены в качестве более поздней нумеровой версии, теперь отправляются как устаревшие обновления в Databricks Runtime 18. Дополнительные сведения см. в разделе "Сведения об унифицированных заметках о выпуске".

Возвращает статистику оптимизатора для таблицы в виде документа JSON, включая статистику на уровне таблицы и при необходимости статистику по столбцам.

Databricks рекомендует SHOW STATISTICS программным образом использовать статистику оптимизатора чтения. Она возвращает только статистику, без схемы, хранилища, свойств, секций и других метаданных, включенных в DESCRIBE TABLE EXTENDED ... AS JSON. Используйте ANALYZE TABLE ... COMPUTE STATISTICS (или прогнозная оптимизация) для сбора статистики, которую сообщает эта команда.

Необходимые разрешения

Чтобы запустить SHOW STATISTICS таблицу каталога Unity, вам потребуется:

  • 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.

  • ДЛЯ ВСЕХ COLUMNS

    Добавляет запись statistics.column_statistics для каждого столбца верхнего уровня с атомарным типом таблицы.

    Столбцы, тип данных которых — STRUCT, ARRAY или MAP , исключены, так как оптимизатор не собирает статистику по сложным типам. Вложенные поля не перечисляются.

  • КАК JSON

    Required. Результат возвращается как один формат STRINGJSON.

Выходные данные в формате 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

    При сборе статистики на уровне таблицы в виде метки времени UTC ISO 8601 (например, 2026-05-29T08:14:24.845Z). null Значение , если не собрано.

  • statistics.column_statistics

    Включается только при FOR COLUMNS указании или FOR ALL COLUMNS указании. Сопоставляет каждый запрошенный столбец со статистикой по столбцам.

    Следующие поля всегда присутствуют, если null не собираются:

    • min, max — минимальное и максимальное значения, отображаемые в виде строк JSON.
    • distinct_count — количество отдельных значений (NDV).
    • num_nulls — количество значений NULL .
    • avg_len, max_len — средняя и максимальная длина значения в байтах.
    • has_histogramtrue если гистограмма равной высоты доступна для столбца.

    Следующие поля отображаются только в том случае, если включена соответствующая коллекция эскизов и опущены в противном случае:

    • has_mcvtrue если для столбца доступен список наиболее распространенных значений.
    • has_kll_sketchtrue если эскиз KLL доступен для столбца.

Примеры

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