【发布时间】:2019-01-11 08:52:44
【问题描述】:
我正在尝试在 Amazon EKS 集群上运行我的 spark 作业。我的 Spark 作业需要在每个数据节点/worker/executor 上提供一些静态数据(参考数据),并且这些参考数据在 S3 中可用。
有人可以帮我找到一个干净且高性能的解决方案,将 S3 存储桶安装到 pod 上吗?
S3 API 是一个选项,我将它用于我的输入记录和输出结果。但是“参考数据”是静态数据,所以我不想在每次运行/执行我的 spark 作业时下载它。在第一次运行时,作业将下载数据,接下来的作业将检查数据是否已在本地可用,无需再次下载。
【问题讨论】:
-
要完成此任务 - “我在我的 spark 作业中使用 org.apache.hadoop.fs.FileUtil.copy 将数据从 S3 复制/下载到提供的本地下载位置。这个下载位置是'K8S 本地挂载卷',因此节点上的所有 pod 将共享主机节点的目录。”我们可以使用 spark-submit 传递卷名。
标签: apache-spark amazon-s3 kubernetes fuse s3fs