首先要说明的是本篇所解决的问题
1、hive分区没创建成功。
2、分区下面小文件过多。
3、合并小文件后新生成的文件没有按指定格式压缩。
数据流场景如下图:
Hive分区按每小时4个每15分钟生成一个的策略,也就是说每小时会有mm=00、mm=15、mm=30、mm=45 四个分区。
问题背景:
当时在通过Cloudera Manager做HDFS的HA操作,因此要停止Hive服务执行更新Hive MetaStore NameNode操作,导致执行2个小时的过程中没有生成hive表的相对分区。
问题1解决方法:
1、先使用命令行到hive对应的hdfs的路径下查看是否有通过flume传过来的.log数据文件,发现有。
2、执行alter table prd_ods_xxx add partition (pt ='20200704',hh='14',mm='00')。
问题2解决方法:
1、执行insert overwrite table prd_ods_xxx partition(pt ='20200704',hh='14',mm='00')
select messege from prd_ods_xxx where pt ='20200704' and hh='14' and mm='0