我使用webhdfs将数据从本地文件系统摄取到hdfs。现在我要确保摄入hdfs的文件的完整性。
如何确保传输的文件没有损坏/更改等?
我使用下面的webhdfs命令来获取文件的校验和
curl -i -L --negotiate -u: -X GET "http://$hostname:$port/webhdfs/v1/user/path?op=GETFILECHECKSUM"
我应该如何使用上述校验和来确保摄取文件的完整性?请建议
下面是我要遵循的步骤
>md5sum locale_file
740c461879b484f4f5960aa4f67a145b
>hadoop fs -checksum locale_file
locale_file MD5-of-0MD5-of-512CRC32C 000002000000000000000000f4ec0c298cd6196ffdd8148ae536c9fe
本地系统上的文件校验和和hdfs上的同一个文件不同我需要比较校验和我怎么做?
3条答案
按热度按时间jtw3ybtb1#
一种方法是在本地计算校验和,然后在摄取它之后将它与hadoop校验和匹配。
我编写了一个库来计算它的本地校验和,以防有人感兴趣。https://github.com/srch07/hdfschecksumforlocalfile
x8diyxa72#
试试这个
有关完整信息,请参阅以下链接
https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/webhdfs.html#get_file_checksum
nfeuvbwi3#
它可以从控制台完成,如下所示
您还可以通过代码验证本地文件
对于hadoop