Statistics generation and viewing commands
You can manually generate table and column statistics, and then view statistics using Hive queries. By default, Hive generates table statistics, but not column statistics, which you must generate manually to make cost-based optimization (CBO) functional.
Commands for generating statistics
The following ANALYZE TABLE command generates statistics for tables and columns:
ANALYZE TABLE [table_name] COMPUTE STATISTICS;
- Gathers table statistics for non-partitioned tables.
ANALYZE TABLE [table_name] PARTITION(partition_column) COMPUTE STATISTICS;
- Gathers table statistics for partitioned tables.
ANALYZE TABLE [table_name] COMPUTE STATISTICS for COLUMNS [comma_separated_column_list];
- Gathers column statistics for the entire table.
ANALYZE TABLE partition2 (col1="x") COMPUTE STATISTICS for COLUMNS;
- Gathers statistics for the partition2 column on a table partitioned on col1 with key x.
Commands for viewing statistics
You can use the following commands to view table and column statistics:
DESCRIBE [EXTENDED] table_name;
- View table statistics. The EXTENDED keyword can be used only if the
hive.stats.autogather
property is enabled in the hive-site.xml configuration file. Use the Cloudera Manager Safety Valve feature (see link below).
DESCRIBE FORMATTED [db_name.]table_name [column_name] [PARTITION (partition_spec)];
- View column statistics.