ANALYZE TABLE
Samlar in statistik om tabellen som ska användas av fråge optimeringen för att hitta en bättre körnings plan för frågor.
Syntax
ANALYZE TABLE table_identifier [ partition_spec ]
COMPUTE STATISTICS [ NOSCAN | FOR COLUMNS col [ , ... ] | FOR ALL COLUMNS ]
Parametrar
table_identifier
[database_name.] table_name
: Ett tabell namn, eventuellt kvalificerat med ett databas namn.delta.`<path-to-table>`
: Platsen för en befintlig delta tabell.
partition_spec
En valfri parameter som anger en kommaavgränsad lista med nyckel/värde-par för partitioner. När det anges returneras partitions statistik.
Syntax:
PARTITION ( partition_col_name [ = partition_col_val ] [ , ... ] )
[NOSCAN | FÖR KOLUMNerna kol [,...] | FÖR ALLA KOLUMNER]
Om du inte anger något analys alternativ
ANALYZE TABLE
samlar tabellens antal rader och storlek i byte.Noscan
Samla bara in tabellens storlek i byte (som inte kräver att hela tabellen genomsöks).
FÖR KOLUMNerna kol [,...] | FÖR ALLA KOLUMNER
Samla in kolumn statistik för varje kolumn som anges eller alternativt för varje kolumn, samt tabell statistik.
Exempel
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| |
| ...| ...| ...|
| Partition Provider| Catalog| |
+--------------------+--------------------+-------+
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| |
| ...| ...| ...|
| Partition Provider| Catalog| |
+--------------------+--------------------+-------+
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|
+--------------+----------+