Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Databricks SQL
Databricks Runtime
Используйте инструкцию ANALYZE TABLE … COMPUTE STATISTICS для сбора предполагаемой статистики о определенной таблице или всех таблицах в указанной схеме. Эти статистические данные используются оптимизатором запросов для создания оптимального плана запроса.
Прогнозная оптимизация автоматически выполняется ANALYZE в управляемых таблицах каталога Unity для сбора этих сведений. Databricks рекомендует включить прогнозную оптимизацию для всех управляемых таблиц каталога Unity, чтобы упростить обслуживание данных и сократить затраты на хранение. См. прогнозную оптимизацию для управляемых каталогом Unity таблиц.
Синтаксис
ANALYZE TABLE table_name [ PARTITION clause ]
COMPUTE [ DELTA ] STATISTICS [ NOSCAN | FOR COLUMNS col1 [, ...] | FOR ALL COLUMNS ]
ANALYZE TABLES [ { FROM | IN } schema_name ] COMPUTE STATISTICS [ NOSCAN ]
Параметры
-
Определяет таблицу для анализа. Имя не должно включать темпоральную спецификацию или указание параметров или путь. Если таблица не может быть найдена, Azure Databricks генерирует условие ошибки TABLE_OR_VIEW_NOT_FOUND.
PARTITION оговорка
Дополнительно ограничивает команду подмножеством секций.
Это предложение не поддерживается для таблиц Delta Lake.
DELTAОбласть применения:
Databricks SQL
Databricks Runtime 14.3 LTS и вышеПерекомпьютирует статистику, хранящуюся в журнале Delta для столбцов, настроенных для сбора статистики в таблице Delta.
При указании ключевого слова обычные статистические
DELTAданные для оптимизатора запросов не собираются.Databricks рекомендует запускать
ANALYZE TABLE table_name COMPUTE DELTA STATISTICSпосле настройки новых столбцов для пропуска данных, чтобы обновить статистику всех строк в таблице. Для оптимизации производительности выполнитеANALYZE TABLE table_name COMPUTE STATISTICS, чтобы обновить план запроса после завершения обновления журнала Delta.[ NOSCAN | FOR COLUMNS col [, ...] | ДЛЯ ВСЕХ COLUMNS ]
Если параметр анализа не указан,
ANALYZE TABLEсобирает количество строк и размер таблицы в байтах.NOSCAN
Соберите только размер таблицы в байтах (для этого не требуется сканирование всей таблицы).
FOR COLUMNS col [, ...] ДЛЯ ВСЕХ COLUMNS
Соберите статистику столбцов для каждого столбца, указанного или альтернативно для каждого столбца, а также статистику таблиц.
Статистика столбцов не поддерживается в сочетании с предложением
PARTITION.
{ FROM
|IN } schema_nameУказывает имя анализируемой схемы. Без имени схемы
ANALYZE TABLESсобирает все таблицы в текущей схемe, для которых текущий пользователь имеет разрешение на анализ.
Примеры
> CREATE TABLE students (name STRING, student_id INT) PARTITIONED BY (student_id);
> INSERT INTO students PARTITION (student_id = 111111) VALUES ('Mark');
> INSERT INTO students PARTITION (student_id = 222222) VALUES ('John');
> ANALYZE TABLE students COMPUTE STATISTICS NOSCAN;
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes
... ... ...
> ANALYZE TABLE students COMPUTE STATISTICS;
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes, 2 rows
... ... ...
-- Note: ANALYZE TABLE .. PARTITION is not supported for Delta tables.
> ANALYZE TABLE students PARTITION (student_id = 111111) COMPUTE STATISTICS;
> DESC EXTENDED students PARTITION (student_id = 111111);
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Partition Statistics 432 bytes, 1 rows
... ... ...
OutputFormat org.apache.hadoop...
> ANALYZE TABLE students COMPUTE STATISTICS FOR COLUMNS name;
> DESC EXTENDED students name;
info_name info_value
-------------- ----------
col_name name
data_type string
comment NULL
min NULL
max NULL
num_nulls 0
distinct_count 2
avg_col_len 4
max_col_len 4
histogram NULL
> ANALYZE TABLES IN school_schema COMPUTE STATISTICS NOSCAN;
> DESC EXTENDED teachers;
col_name data_type comment
-------------------- -------------------- -------
name string null
teacher_id int null
... ... ...
Statistics 1382 bytes
... ... ...
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes
... ... ...
> ANALYZE TABLES COMPUTE STATISTICS;
> DESC EXTENDED teachers;
col_name data_type comment
-------------------- -------------------- -------
name string null
teacher_id int null
... ... ...
Statistics 1382 bytes, 2 rows
... ... ...
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes, 2 rows
... ... ...
> ANALYZE TABLE some_delta_table COMPUTE DELTA STATISTICS;