我们如何比较localfile和hdfs文件的一致性

时间:2011-10-31 18:38:52

标签: hadoop hdfs

    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

不确定为什么本地文件的校验和为空

1 个答案:

答案 0 :(得分:0)

Hadoop依赖于FileSystem来准备匹配的校验和。它不会即时生成一个。

默认情况下,LocalFileSystem(或用于file://路径的特定实现)不会为通过它创建的所有文件创建/存储校验和。您可以通过FileSystem#setWriteChecksum API调用切换此行为,然后检索写后校验和将会有效。