Hive监控表的数据量,使用analyze

本文介绍了如何使用Hive的ANALYZE TABLE命令来收集和查询表的数据统计信息,包括行数、大小和文件数。这些统计信息存储在metastore中,用于提升查询效率。Hive默认自动收集统计信息,但LOAD DATA操作后需手动执行。通过DESCRIBE FORMATTED命令可以查看统计详情。手动收集时,可以使用NOSCAN选项避免扫描文件。
摘要由CSDN通过智能技术生成

Hive监控表的数据量,使用analyze

1、使用方式

analyze TABLE td.pt_pmart_ceo_FIN_TRSF_CTR_SITE_MAP partition (dt) COMPUTE STATISTICS  noscan

工作中用到的统计一个表的数据量

# table_counts 查询出传入日期的表的数据量
table_counts=$(hive -e "analyze table ${DB_NAME}.${TABLE_NAME} partition(pt='${P_DATE}') compute statistics;
desc formatted ${DB_NAME}.${TABLE_NAME} partition(pt='${P_DATE}')" | grep numRows | awk '{print $2}')

2、为啥使用:为了统计与分析,他将统计信息存储到metastore中,后续再俩查询的时候就不需要再执行查询计算,可以直接获取

3、适用范围:统计信息支持新建的和现有的表,支持分区表和普通表的统计信息,以及列统计信息。

4、analyz

4.1表统计

行数,大小(字节为单位),文件数

  1. hive是默认自动收集统计信息,有hive.stats.autogather配置参数决定,默认是true。但是对于load data 方式是不支持的。(这个是在计算的时候统计出来的,load是将数据直接放在对应的目录下)

  2. 手动收集。手动收集的指令

    ANALYZE TABLE [db_name.]tablename [PARTITION(partcol1[=val1], partcol2[=val2], …)]
    COMPUTE STATISTICS
    [FOR COLUMNS] – (Note: Hive 0.10.0 and later.)
    [CACHE METADATA] – (Note: Hive 2.1.0 and later.)
    [NOSCAN];
    

    如果指定了NOSCAN的话,该命令将不会去扫描文件,仅会收集文件数和文件大小的信息

  3. 查看表的统计信息

    desc formatted tableName
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

章鱼哥TuNan&Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值