Impala table/column統計分析

介紹

        impala能夠經過訪問數據的統計信息對複雜和多表的查詢作更好的優化,impala使用這些信息幫助一個work進行並行和分佈式查詢。數據庫

        Impala查詢計劃器能夠使用有關整個表和分區的統計信息。 此信息包括物理特性,例如行數,數據文件數,數據文件的總大小和文件格式。 對於分區表,每一個分區計算數字,並計爲整個表的總計。 此元數據存儲在Metastore數據庫中,而且能夠由Impala或Hive進行更新。 若是數字不可用,則值-1用做佔位符。 一些數字,例如數據文件的數量和總大小,老是保持最新的,由於它們能夠被計算得便宜,做爲收集HDFS塊元數據的一部分。bash

Table Statistics

SHOW TABLE STATS table_name;

        ps:示例顯示了未分區的Parquet表的表統計信息。 文件的數量和大小的值始終可用。 最初,行數是未知的,由於它須要對整個表進行潛在的昂貴掃描,所以該值顯示爲-1。 COMPUTE STATS語句填充任何未知的表統計信息值。分佈式

COMPUTE STATS table_name;

    再次查看優化

 

    當元數據在元數據庫數據庫中可用時,Impala查詢計劃器能夠使用有關各個列的統計信息。此方法對於在鏈接查詢中跨表比較的列最有價值,以幫助估計查詢將從每一個表中檢索多少行。這些統計信息對於使用EXISTS()或IN()運算符的關聯子查詢也很重要,這些運算符在內部以鏈接查詢的方式處理spa

Column Statistics

show column stats table_name;
COMPUTE STATS table_name;

    示例顯示了未分區的Parquet表的列統計信息。某些類型的最大和平均大小的值老是可用的,由於這些數字對於數字和其餘固定大小類型是常數。最初,不一樣值的數量是未知的,由於它須要對整個表進行潛在的昂貴掃描,所以該值顯示爲-1。這一樣適用於可變大小類型的最大和平均大小,例如STRING。 COMPUTE STATS語句填充大多數未知列統計信息值。 (它不記錄NULL值的數量,由於當前Impala不會使用該數字進行查詢優化。)code

Show集合

SHOW DATABASES [[LIKE] 'pattern']
SHOW SCHEMAS [[LIKE] 'pattern'] - an alias for SHOW DATABASES
SHOW TABLES [IN database_name] [[LIKE] 'pattern']
SHOW [AGGREGATE | ANALYTIC] FUNCTIONS [IN database_name] [[LIKE] 'pattern']
SHOW CREATE TABLE [database_name].table_name
SHOW TABLE STATS [database_name.]table_name
SHOW COLUMN STATS [database_name.]table_name
SHOW PARTITIONS [database_name.]table_name
SHOW ROLES
SHOW CURRENT ROLES
SHOW ROLE GRANT GROUP group_name
SHOW GRANT ROLE role_name

刷新元數據

invalidate metadata;
相關文章
相關標籤/搜索