Hive外部分区表加载flume打到hdfs上文件,读不到.tmp文件
2016-04-14 14:10
316 查看
摘要 flume打到hdfs上时,按照文件大小生成文件,在达到指定大小之前数据都是以.tmp文件形式保存在hdfs上,hive外部表也会加载这些文件,但是当文件完成后.tmp会消失,这时候hive会报找不到文件的错误。类似于:Caused by:org.apache.ahdoop.ipc.RemoteException(java.io.FileNotFoundException):File does not exist:/......../..../..xxx.log.tmp
hive外部分区表加载不到flume的临时文件
hive自定义Pathfilter过滤加载数据的方式
hive过滤数据文件
flume打到hdfs上时,按照文件大小生成文件,在达到指定大小之前数据都是以.tmp文件形式保存在hdfs上,hive外部表也会加载这些文件,但是当文件完成后.tmp会消失,这时候hive会报找不到文件的错误。解决方法是自己写hive的pathfilter类,hive加载数据的时候把tmp文件过滤掉不加载即可。
错误信息如下:
自定义PathFilter类如下:
?
编写完后,打成jar包上传服务器,再修改hive-site.xml文件,修改如下:
?
切记:不能有回车换行这样的字符,要不然回报一些乱七八糟的错误,博主就被坑的七零八碎的!!!!
hive外部分区表加载不到flume的临时文件
hive自定义Pathfilter过滤加载数据的方式
hive过滤数据文件
flume打到hdfs上时,按照文件大小生成文件,在达到指定大小之前数据都是以.tmp文件形式保存在hdfs上,hive外部表也会加载这些文件,但是当文件完成后.tmp会消失,这时候hive会报找不到文件的错误。解决方法是自己写hive的pathfilter类,hive加载数据的时候把tmp文件过滤掉不加载即可。
错误信息如下:
自定义PathFilter类如下:
?
?
相关文章推荐
- Spark将大量分区写入HDFS报错
- HDFS源码分析数据块汇报之损坏数据块检测checkReplicaCorrupt()
- hadoop
- Kafka+Storm+HDFS
- HDFS源码分析之数据块及副本状态BlockUCState、ReplicaState
- HDFS中数据节点数据块存储示例
- HDFS源码分析之数据块Block、副本Replica
- HDFS存储系统
- hadoop
- hbase的预分区
- 学习播
- hdfs中Missing Block 的文件处理方法
- HDFS源码分析数据块之CorruptReplicasMap
- HDFS源码分析数据块复制之PendingReplicationBlocks
- No FileSystem for scheme: hdfs,No FileSystem for scheme: file
- 分布式文件系统HDFS原理与操作
- HDFS源码分析EditLog之读取操作符
- HDFS API基本操作
- HDFS源码分析EditLog之获取编辑日志输入流
- HDFS异构存储