为本地文件制作HDFS calulcate校验和。

时间:2017-06-23 21:11:36

标签: hadoop hdfs checksum

我正在尝试使用hadoop fs -checksum计算本地文件校验和。但它只返回None。

[centos@sandbox tmp]$ hadoop fs -checksum file:///user/centos//a.json file:///user/centos/a.json NONE

我尝试过使用

hadoop fs -copyFromLocal a.json file:///user/centos/a.json这样在本地文件夹/user/centos中生成.a.json.crc file。但结果校验和仍然没有返回。

如何让Hadoop在本地计算校验和?

1 个答案:

答案 0 :(得分:1)

hadoop fs -checksum目前无法从本地文件系统计算文件的校验和。可能的解决方法是:

  • Apache JIRA HADOOP-12326跟踪本地文件系统上的支持文件,作为hadoop fs -checksum命令的目标。如果您现在确实需要该功能,那么您可以下载Hadoop源,应用附加到HADOOP-12326的补丁,并按照BUILDING.txt中的说明创建自定义版本。请注意,该补丁尚未得到Apache Hadoop社区的批准和承诺,因此使用风险自负。
  • 如果您只是想在将文件从HDFS复制到本地文件系统时随身携带CRC信息,那么您可以将-crc参数传递给get命令

示例:

hadoop fs -get -crc hello

ls -lrta 
...
-rw-r--r--   1 cnauroth                    cnauroth                       12 Jun 23 15:28 .hello.crc
-rw-r--r--   1 cnauroth                    cnauroth                        6 Jun 23 15:28 hello
...