前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0860-5.16.2-如何统计Hive表的分区数、小文件数量和表大小

0860-5.16.2-如何统计Hive表的分区数、小文件数量和表大小

作者头像
Fayson
发布2021-08-23 15:19:51
4.1K0
发布2021-08-23 15:19:51
举报
文章被收录于专栏:Hadoop实操Hadoop实操

1.文档编写目的

本篇文章主要介绍如何在CDH 5.16.2集群中获取所有Hive表的分区数、小文件数量、表大小。

  • 文档概述

1.获取元数据信息

2.数据可视化

3.总结

  • 测试环境

1.操作系统Redhat7.6

2.CDH5.16.2

3.使用root用户操作

4.MariaDB5.5.60

2.获取元数据信息

1.Hive数据库信息如下

2.登陆元数据库(也可以使用hive用户,但是没有权限把文件写入本地,可以采用记录会话的功能提取查询的信息)

代码语言:javascript
复制
[root@cdp1 ~]# mysql -u root -p
Enter password:
MariaDB [(none)]> use metastore;
MariaDB [metastore]> select concat(a.owner,'#',b.name,'#',a.tbl_name,'#',replace(c.location,'hdfs://nameservice1/','/')) tab_str from TBLS a,DBS b,SDS c where a.db_id=b.db_id and a.sd_id=c.sd_id and c.location like 'hdfs:%' into outfile '/tmp/table_date.txt';

3.查看获取的数据

代码语言:javascript
复制
[root@cdp01 ~]# cd /tmp/systemd-private-38cc5bd6395b4fb68e40998aa8d56a7e-mariadb.service-pa4Lao/tmp/

4.使用以下脚本获取数据

代码语言:javascript
复制
for line in $(grep -vE "^#|^$" table_date.txt)
do
    tabpath=$(echo ${line}|awk -F"#" '{print $NF}')
    tabstat=$(hdfs dfs -count  "${tabpath}" 2>/dev/null|awk 'BEGIN{OFS="#"}{print $1,$2,$3}')
    echo "${line}#${tabstat}" >> Htab_Data.txt 
    wc -l tabsizes.txt
done

5.执行脚本(如果数据量庞大可以把数据拆分为多个文件,同时执行多个脚本处理)

代码语言:javascript
复制
 [root@cdp01 tmp]# nohup sh tabdata.sh &

采用nohup的方式执行命令主要是为了让脚本在后台执行,防止中途出现脚本断掉

6.查看脚本是否跑完

代码语言:javascript
复制
[root@cdp01 tmp]# wc -l table_date.txt
[root@cdp01 tmp]# wc -l Htab_Data.txt

7.把跑完的数据拿到本地

代码语言:javascript
复制
[root@cdp01 tmp]# sz Htab_Data.txt

3.数据可视化

1.创建excel表并导入数据

2.点击“获取数据”,并设置分列格式

3.选择其他添加“#”,点击完成

4.导入完成信息如下

5.可以对表格进行小文件数量,或者表大小排序,整理完成如下。(如果需对表大小进行单位展示,可以对表大小列进行除1024等于KB,再除1024等于MB依此累加)

4.总结

1.获取元数据信息也可以采用hive用户,但是没有权限把文件写入本地,可以采用记录会话的功能提取查询的信息。

2.如果表数量过多可以把从元数据库导出到信息拆分为多个文件,多个脚本同时执行。

3.CDH和CDP的统计方式相同。

4.统计完数据后,可以更明确的了解Hive的各张表信息情况,并且可以采用此表信息进行小文件合并,提升集群性能。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档