hadoop文件块的问题

KevinWen 发布于 2014/04/18 17:35
阅读 171
收藏 0

将一个大文件分割成多个小文件(以某一分割符分割文件,大文件将被分割成6000多个小文件,但有很多是同名的),如果HDFS的文件块大小是64M的,将出现如下错误:

java.io.EOFException
at java.io.DataInputStream.readShort(DataInputStream.java:298)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.createBlockOutputStream(DFSClient.java:3060)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:2983)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2000(DFSClient.java:2255)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2446)


log4j:WARN No appenders could be found for logger (org.apache.hadoop.hdfs.DFSClient).
log4j:WARN Please initialize the log4j system properly.

但如果将HDFS的文件块设置为500KB,那就一成功运行。而且,如果输入源是小文件(几KB),那么不用设置文件块大小就可以成功运行。哪位大神能告诉我这是咋回事?不胜感激~~~~~~~

加载中
返回顶部
顶部