您的位置:首页 > 大数据 > Hadoop

hive读取与flume写入hdfs文件冲突

2017-11-23 17:19 1346 查看
可以阅读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操作把昨日之前数据转存到历史表,并从时时表数据中删除昨日之前数据

解决思路:验证后补充
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: