Hadoop DistCp ,S3 DistCp和 Jindo DistCp相比有什么不同?
1Hadoop DistCp:
默认 Checksum 算法:CRC32
跳过 Checksum 校验的参数:-skipcrccheck
差异比较:直接调用参数 -diff
增量拷贝:直接调用参数 –update
Hadoop 3.1.1以上版本,支持了全新组合式 CRC 文件 Checksum 。让Hadoop 实现与外部存储系统一致的 CRC 算法,以满足 HDFS 和其他外部存储系统进行差异对比。但该方案有以下缺点:源存储介质和目标存储介质必须使用相同的 Checksum 算法,如果是往云上迁移,往往只能改变源端私有化存储介质的 Checksum 算法,去适配目标介质,有一定改造成本。
2S3 DistCp:
默认 Checksum 算法:MD5
不支持扩展 Checksum
不支持差异比较功能
不支持一键增量拷贝功能
拷贝结束时,在-outputManifest参数指定的路径下生成Manifest文件。
下次拷贝时,指定-previousManifest参数,获取Manifest中的差异文件列表来实现增量拷贝。
其他云厂商
同样不支持一键增量拷贝功能。
差异比较时,往往需要拉取源文件重复计算Checksum。
3Jindo DistCp:
Checksum 算法:默认CRC32,支持CRC64
Checksum 相关的参数:默认开启,禁用参数-disableChecksum
差异比对,增量拷贝方式与 Hadoop 社区对齐:
--diff:指定为差异比较模式。
--update:指定为增量Copy模式。
默认先比较是否存在,再比较文件大小,最后比较文件Checksum。
如果不希望比较文件Checksum,可以通过增加--disableChecksum参数来关闭,即只比较文件名和文件大小。
差异比较/增量比较时不重复计算。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。