s3-dist-cp 是 AWS EMR 内置的用于 S3 和 HDFS 之间文件拷贝的专用工具,与 Hadoop 的 distcp 类似,也是通过 Map-Reduce 作业的方式实现分布式的文件复制(distcp 就是 distributed copy 分布式拷贝的意思)。
s3-dist-cp 并不是一个简单的在 S3 和 HDFS 之间拷贝文件的工具,因为它并不是一个独立运行的命令行工具,而是要依靠 EMR 集群提交 MR 作业。实际上,它更多应用在超大数据集的迁移上,例如将原来 HDFS 上的构建的数据湖整体迁移到 S3 上,或者将 S3 上存放的 HBase 备份快照拉到 EMR 集群的本地 HDFS 上进行恢复,这些操作都要复制体量超大的数据,只有借助 MR 作业进行分布式的拷贝,才有可能在较短时间内完成。
s3-dist-cp 的复制速度非常快,除了因为其本身是 MR 形式的分布式作业外,它的实现方式也决定了它要比普通的 MR 导入导出作业要快,一个很有说明性的例子就是 HBase 的 snapshot export
命令,这一命令也是一个 MR 作业,当 -copy-from
和 -copy-to
分别是 S3 和 HDFS 路径时,它也本质上也是在 S3 和 HDFS 之间拷贝数据,但测试表明,它的速度远不如 s3-dist-cp (多出1.5倍或更多时间)。目前没有关于 s3-dist-cp 实现细节的资料,推测可能是对下载的多个文件做了某种合并处理,以更大的文件形式统一下载。文章来源:https://www.toymoban.com/news/detail-759657.html
以下是一个使用 s3-dist-cp 从 S3 上下载 HBase 快照到 本地 HDFS 的示例:文章来源地址https://www.toymoban.com/news/detail-759657.html
到了这里,关于s3-dist-cp 介绍教程示例使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!