gpt4 book ai didi

hadoop - 从 Spark 调用 distcp

转载 作者:可可西里 更新时间:2023-11-01 15:09:43 32 4
gpt4 key购买 nike

谁能告诉我在 Pyspark 中将文件从 HDFS 复制到 S3 的最可靠方法是什么?

我正在考虑 2 个选项:

我。直接调用 distcp,如下所示:

  distcp_arglist =['/usr/lib/hadoop/bin/hadoop','distcp',
...,
'-overwrite',
src_path, dest_path]

二。使用 s3-distcp - 这似乎有点复杂。 https://gist.github.com/okomestudio/699edbb8e095f07bafcc

欢迎提出任何建议。谢谢。

最佳答案

我将向您指出一点我的代码,cloudcp

这是在 spark 中实现 distCp 的基本概念证明

  • 单个文件通过 spark 调度程序进行调度;不适合 0 字节文件,但会阻止作业被一个节点上的大文件耽搁
  • 确实通过一个特殊的 RDD 来处理局部性,该 RDD 以不同的方式计算每一行(即文件)的位置(必须在 org.apache.spark 包中以进行范围访问)
  • 展示了如何在 spark map 中进行 FS 操作
  • 随机打乱输入
  • 在 RDD 中收集结果

不做:* 增量写入(你无法比较 HDFS 和 S3 之间的校验和,但它可以在复制之前检查 fs.exists(path)。* 权限。 S3 没有它们*节流*首先安排大文件。你应该。* 作业失败的恢复(无增量,见)

就像我说的,PoC 说“我们通过使用 spark 来完成繁重的工作变得更加敏捷”

无论如何,拿来玩吧,只要您不介意一些 scala 编码,您就可以对其进行重构以轻松地在现有的 spark 上下文中运行。

关于hadoop - 从 Spark 调用 distcp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48287298/

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