可以阅读http://www.aboutyun.com/thread-11252-1-1.html参考
前提:用flume采集数据,sink配置hdfs输出,然后用hive时时查询计算,定期转存数据到历史表。
1、问题一:hive查询时与flume滚动文件冲突
hive查询时包含flume的临时文件(后缀tmp文件),当flume把临时文件滚动成正式文件时,会删掉临时文件,生成正式文件,此时hive查询处理时会报错:file not fond
解决思路:由于hive查询时不会查询以.和_开头的hdfs文件,所以把flume的临时文件生成规则改成前缀是.或_的格式。
1、问题二:hive转存到历史表时使用inster into overwrite语句,可能会把临时文件给删除掉
转存时hive操作把昨日之前数据转存到历史表,并从时时表数据中删除昨日之前数据
解决思路:验证后补充