Support Questions

Find answers, ask questions, and share your expertise

Viewing Hive Column or Table level Statistics

avatar
Expert Contributor

Does anyone know of a way to view the statistics which are created after the command "analyze table [myTable] compute statistics;" is executed?

Referenced from here: http://hortonworks.com/blog/5-ways-make-hive-queries-run-faster/

1 ACCEPTED SOLUTION

avatar

@Wes Floyd Here is Hive Stats detail https://cwiki.apache.org/confluence/display/Hive/S...

You can view the stored statistics by issuing the DESCRIBE command. Statistics are stored in the Parameters array. Suppose you issue the analyze command for the whole table Table1, then issue the command:

DESCRIBE EXTENDED TABLE1;

then among the output, the following would be displayed:

... , parameters:{numPartitions=4, numFiles=16, numRows=2000, totalSize=16384, ...}, ....

View solution in original post

10 REPLIES 10

avatar

@Wes Floyd Here is Hive Stats detail https://cwiki.apache.org/confluence/display/Hive/S...

You can view the stored statistics by issuing the DESCRIBE command. Statistics are stored in the Parameters array. Suppose you issue the analyze command for the whole table Table1, then issue the command:

DESCRIBE EXTENDED TABLE1;

then among the output, the following would be displayed:

... , parameters:{numPartitions=4, numFiles=16, numRows=2000, totalSize=16384, ...}, ....

avatar

@Pardeep

See this thread here: https://community.hortonworks.com/questions/4759/hive-explain-says-plan-not-optimized-by-cbo-due-to....

We couldn't find a way to see "columns" stats (analyze table t compute statistics for columns). I think describe extended shows only table stats.

Also looking for a solution to get rid of warning: Plan not optimized by CBO due to missing statistics. Please check log for more details, from above question.

avatar
Contributor

@Guilherme Braccialli If you've already analyzed the columns you can issue a describe table command to get column stats:

"As of Hive 0.10.0, the optional parameter FOR COLUMNS computes column statistics for all columns in the specified table (and for all partitions if the table is partitioned). See Column Statistics in Hive for details.

To display these statistics, use DESCRIBE FORMATTED [db_name.]table_name column_name [PARTITION (partition_spec)]."

https://cwiki.apache.org/confluence/display/Hive/StatsDev#StatsDev-ExistingTables

avatar

Yes, @Neeraj Sabharwal and I tried this few times, but we can't see column statistics, only table level.

avatar

avatar
Expert Contributor

Thank you Pardeep. This helps me understand how to see Table level statistics. Do you have a solution for Column level stats also?

avatar
Master Mentor

@Wes Floyd has this been resolved? Please provide your solution or accept best answer.

avatar
Explorer

For those interested in viewing column level stats try this...

analyze table orderdetails compute statistics for columns;
describe formatted orderdetails.unitprice;

col_name  data_type min max  num_nulls distinct_count avg_col_len max_col_len num_trues num_falses comment
unitprice double    2.0 26.3 0         127                                                         foo

avatar
Contributor

For those looking for an easy graphical tool, the Hive View 2.0 (included with Ambari 2.5 and up) has the ability to view table and column level stats, and to compute them if they are missing.

For more info see https://hortonworks.com/blog/3-great-reasons-to-try-hive-view-2-0/

Note that column stats are listed under table stats and you can see the individual column's statistics there.