通過JindoDistCp從HDFS遷移到OSS-HDFS的文件,可以進(jìn)行文件內(nèi)容檢驗。本文為您介紹文件內(nèi)容校驗的操作步驟。

使用限制

僅JindoData 4.6.2及以上版本支持。

操作步驟

  1. 計算輸出通過JindoDistCp遷移的目標(biāo)目錄和源目錄的文件checksum,命令格式如下。
    jindo distjob -checksum --src <src> --dest <dest> --blockSize <blockSize> --recalculate
    其中參數(shù)說明如下:
    參數(shù) 描述 必填 默認(rèn)值 說明
    --src <src> 待文件內(nèi)容校驗的路徑。 src只能為OSS-HDFS或HDFS路徑。
    --dest <dest> 輸出checksum文件的目標(biāo)路徑。 無。
    --blockSize <blockSize> 源文件寫入的blockSize。 134217728 單位為Byte。
    --recalculate 是否讀取文件重新計算checksum。 默認(rèn)不會重新計算,從OSS-HDFS讀取寫入時計算的checksum。 僅當(dāng)--src參數(shù)值為OSS-HDFS時支持。
    1. 計算輸出通過JindoDistCp遷移的目標(biāo)目錄的文件checksum。

      例如,OSS-HDFS的bucket名為dlsbucket,需要文件內(nèi)容校驗的目錄為oss://dlsbucket/test,輸出checksum文件到OSS目錄 oss://ossbucket/test-dls,此時命令如下所示。
      jindo distjob -checksum --src oss://dlsbucket/test --dest oss://ossbucket/test-dls --recalculate
    2. 計算輸出通過JindoDistCp遷移的源目錄的文件checksum。
      例如,JindoDistCp的源目錄為hdfs:///test,輸出checksum文件到OSS目錄oss://ossbucket/test-hdfs,此時命令如下所示。
      jindo distjob -checksum --src hdfs:///test --dest oss://ossbucket/test-hdfs
  2. 通過JindoDistCp --diff對比步驟1中的步驟a和b輸出的文件checksum目錄內(nèi)容。示例如下:
    hadoop jar jindo-distcp-tool-${version}.jar --src oss://ossbucket/test-hdfs --dest oss://ossbucket/test-dls --diff