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;
相关文章
相关标签/搜索