Impala table/column统计分析

原创
2017/03/10 18:50
阅读数 724

介绍

        impala可以通过访问数据的统计信息对复杂和多表的查询做更好的优化,impala使用这些信息帮助一个work进行并行和分布式查询。

        Impala查询计划器可以使用有关整个表和分区的统计信息。 此信息包括物理特性,例如行数,数据文件数,数据文件的总大小和文件格式。 对于分区表,每个分区计算数字,并计为整个表的总计。 此元数据存储在Metastore数据库中,并且可以由Impala或Hive进行更新。 如果数字不可用,则值-1用作占位符。 一些数字,例如数据文件的数量和总大小,总是保持最新的,因为它们可以被计算得便宜,作为收集HDFS块元数据的一部分。

Table Statistics

SHOW TABLE STATS table_name;

        ps:示例显示了未分区的Parquet表的表统计信息。 文件的数量和大小的值始终可用。 最初,行数是未知的,因为它需要对整个表进行潜在的昂贵扫描,因此该值显示为-1。 COMPUTE STATS语句填充任何未知的表统计信息值。

COMPUTE STATS table_name;

    再次查看

 

    当元数据在元数据库数据库中可用时,Impala查询计划器可以使用有关各个列的统计信息。此方法对于在连接查询中跨表比较的列最有价值,以帮助估计查询将从每个表中检索多少行。这些统计信息对于使用EXISTS()或IN()运算符的关联子查询也很重要,这些运算符在内部以连接查询的方式处理

Column Statistics

show column stats table_name;
COMPUTE STATS table_name;

    示例显示了未分区的Parquet表的列统计信息。某些类型的最大和平均大小的值总是可用的,因为这些数字对于数字和其他固定大小类型是常数。最初,不同值的数量是未知的,因为它需要对整个表进行潜在的昂贵扫描,因此该值显示为-1。这同样适用于可变大小类型的最大和平均大小,例如STRING。 COMPUTE STATS语句填充大多数未知列统计信息值。 (它不记录NULL值的数量,因为当前Impala不会使用该数字进行查询优化。)

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;

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部