impala COMPUTE STATS 指令

impala COMPUTE STATS 指令
最近再测试impala 学习到COMPUTE STATS 但是不明白其中的意思
用一张表来举例
drop table if exists sjqy.small_bak_inf_ofr_asset_exi_hist;
--拆分小表 
create table sjqy.small_bak_inf_ofr_asset_exi_hist as
select set_exi_row_id 
 from inf.inf_ofr_asset_exi_hist 
where set_exi_row_id <> 'ROWID_ODS';
报错 :Error seeking to 268435456 in file: hdfs://drmcluster/user/sjzx_b/hive/ inf.db/inf_ofr_asset_exi_hist/000000_0 
Error(255): Unknown error 255


使用 invalidate metadata inf.inf_ofr_asset_exi_hist;
 
 执行成功
drop table if exists sjqy.small_ofr_asset_inst_attr;
create  table  sjqy.small_ofr_asset_inst_attr as
select   a.asset_exi_row_id  
        ,a.asset_row_id     
        ,a.attr_id          
        ,a.char_val         
        ,a.date_val         
        ,a.num_val          
        ,a.create_dt        
        ,a.last_upd_dt      
        ,a.val_type_name    
        ,a.etl_dt           
        ,a.etl_time
  from  sjqy.ofr_asset_inst_attr_impala    a 
  left semi join   sjqy.small_bak_inf_ofr_asset_exi_hist  b
     on a.asset_exi_row_id = b.set_exi_row_id ;
报错内存不够
request memory estimate 889.71 GB is greater than pool limit 586.67 GB. 


使用 
COMPUTE sjqy.small_bak_inf_ofr_asset_exi_hist
再次执行sql成功 

「COMPUTE STATS」前
指令:
show table stats usermodel_inter_total_label;
返回:
log_date
#Rows
#Files
Size
Bytes Cached
Format
2014-12-13
-1
15
1.18GB
NOT CACHED
TEXT
2014-12-14
-1
3
1.80GB
NOT CACHED
TEXT
2014-12-15
-1
4
2.96GB
NOT CACHED
TEXT
Total
-1
22
5.93GB
0B
-
指令:
show column stats usermodel_inter_total_label;
返回:
Column
Type
#Distinct Values
#Nulls
Max Size
Avg Size
sn
STRING
-1
-1
-1
-1
label
STRING
-1
-1
-1
-1
heat
DOUBLE
-1
-1
-1
-1
active_record
STRING
-1
-1
-1
-1
log_date
STRING
3
0
-1
-1
「COMPUTE STATS」后
指令:
show table stats usermodel_inter_total_label;
返回:
log_date
#Rows
#Files
Size
Bytes Cached
Format
2014-12-13
9498438
2
469.76MB
NOT CACHED
TEXT
2014-12-14
17891595
1
893.44MB
NOT CACHED
TEXT
2014-12-15
27885473
2
1.37GB
NOT CACHED
TEXT
Total
55275506
5
2.71GB
0B
-
指令:
show column stats usermodel_inter_total_label;
返回:
Column
Type
#Distinct Values
#Nulls
Max Size
Avg Size
sn
STRING
13984716
-1
30
24.0039005279541
label
STRING
36
-1
13
4.26140022277832
heat
DOUBLE
382126
-1
8
8
active_record
STRING
7
-1
3
1.667400002479553
log_date
STRING
3
0
-1
-1
看来「COMPUTE STATS」的作用就是得出Impala原先不知道的值(-1)。
分析:
出最简单的方式是通过执行COMPUTE STATS来收集涉及到的所有表的统计信息,
并让 Impala 基于每一个表的大小、每一个列不同值的个数、等等信息自动的优化查询
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值