public String getDirs() throws IOException{
fs=FileSystem.get(conf);
fs.copyFromLocalFile(new Path("/private/tmp/as"), new Path("/test"));
LocalFileSystem lfs=LocalFileSystem.getLocal(conf);
// System.out.println(new LocalFileSystem().ge (conf.getLocalPath("/private/tmp/as")));
System.out.println("Local Path : "+lfs.getFileChecksum(new Path("/private/tmp/as")));
System.out.println("HDFS PATH : "+ fs.getFileChecksum(new Path("/test/as")));
return "done";
}
输出
本地路径:null HDFS路径:MDD-of-0MD5-of-512CRC32:a575c5e99b2e08605dc7c6723889519c
不确定为什么本地文件的校验和为空
答案 0 :(得分:0)
Hadoop依赖于FileSystem来准备匹配的校验和。它不会即时生成一个。
默认情况下,LocalFileSystem(或用于file://
路径的特定实现)不会为通过它创建的所有文件创建/存储校验和。您可以通过FileSystem#setWriteChecksum API调用切换此行为,然后检索写后校验和将会有效。