gpt4 book ai didi

hadoop - 在具有相同大小但内容不同的 hdfs 上同步文件

转载 作者:可可西里 更新时间:2023-11-01 16:28:34 27 4
gpt4 key购买 nike

我正在尝试使用 distcp 和 airbnb reair 实用程序将文件从一个 hadoop clutster 同步到另一个,但它们都没有按预期工作。

如果源和目标上的文件大小相同,即使文件内容已更改(校验和也会变化),除非未使用覆盖选项,否则两者都无法更新它。

我需要保持大约 30TB 的同步数据,所以每次加载完整的数据集是不可行的。

如果文件大小相同(源中的计数已更改)并且校验和不同,谁能建议我如何使两个数据集同步。

最佳答案

DistCp 处理大小相同但内容不同的文件之间同步的方式是比较其所谓的 FileChecksumFileChecksum 首次在 HADOOP-3981 中引入,主要是为了在 DistCp 中使用。不幸的是,这有一个已知的缺点,即在不同的存储实现之间不兼容,甚至在具有不同内部 block / block 设置的 HDFS 实例之间不兼容。具体来说,该 FileChecksum 具有例如每 block 512 字节和每 block 128MB 的结构。

由于 GCS 没有相同的“ block ”或“ block ”概念,因此它不可能有任何类似的 FileChecksum 定义。 Hadoop 常用的所有其他对象存储也是如此; DistCp documentation appendix在“DistCp 和对象存储”下讨论了这一事实。

就是说,有一个巧妙的技巧可以用来为 HDFS 文件定义一个很好的标准化复合 CRC 表示,它与现有的 HDFS 部署大部分就地兼容;我已经提交了 HDFS-13056通过概念证明来尝试将此添加到上游,之后应该可以使其针对 GCS 开箱即用,因为 GCS 还支持文件级 CRC32C。

关于hadoop - 在具有相同大小但内容不同的 hdfs 上同步文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48289719/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com