背景:Flink数据写入到stage层,然后再入ods层,中间导致hive数据实时性不强,随后做优化,Flink之间以orc格式写入到hive
问题:单表日800亿数据量,产生过多的小文件,影响Impala查询
解决:对hive小文件进行合并,
目前大数据平台hdfs数据存储情况:
数据仓库中的表:
1.stg层是把flink应用程序写入的数据load进入的;
2.ods层表名称中包含ai的表是从mysql导入的;
/_SCRATCH0 这些目录是sqoop 把mysql数据导入hive时生成的临时目录,可以删除。
3.stg 和 ods 的 tb_bu_dc_monitor_day 是外部表,其他层的表都是内部表;
4.stg层是原始数据,没有经过压缩处理,ods及以后其他各层都是orc格式
使用hive concatenate (外部表不可用,内部表可用,orc可用,分桶表不可用)
使用方式:
因为分桶表不适用,所以可以采用覆写的方式