【问题标题】:Spark 1.6 DirectFileOutputCommitterSpark 1.6 DirectFileOutputCommitter
【发布时间】:2016-05-14 13:43:03
【问题描述】:

我在使用 pyspark 将文本文件保存到 S3 时遇到问题。我可以保存到 S3,但它首先上传到 S3 上的 _temporary,然后继续复制到预期位置。这会显着增加作业的运行时间。我试图编译一个 DirectFileOutputComitter,它应该直接写入预期的 S3 url,但我无法让 Spark 使用这个类。

例子:

someRDD.saveAsTextFile("s3a://somebucket/savefolder")

这会创建一个

s3a://somebucket/savefolder/_temporary/

然后写入的目录,之后 S3 复制操作将文件移回

s3a://somebucket/savefolder

我的问题是是否有人有 DirectFileOutputCommiter 的工作 jar,或者是否有人有解决此问题的经验。

相关链接:

  1. https://issues.apache.org/jira/browse/HADOOP-10400
  2. https://gist.github.com/aarondav/c513916e72101bbe14ec
  3. https://mail-archives.apache.org/mod_mbox/spark-user/201503.mbox/%3C029201d06334$a0871180$e1953480$@gmail.com%3E
  4. http://tech.grammarly.com/blog/posts/Petabyte-Scale-Text-Processing-with-Spark.html

【问题讨论】:

    标签: java hadoop amazon-s3 apache-spark pyspark


    【解决方案1】:

    我能够通过使用 Databricks 的 DirectOutputCommitter 修补 Hadoop 2.7.2 并将修补后的 jar 部署到我的 spark 实例来解决此问题。下面链接的是带有修补 jar 的 git repo。

    Github Link

    【讨论】:

    • 我在 EMR 中尝试了同样的事情,但我仍然看到它使用 FileOutputCommitter 而不是 DirectFileOutputCommitter。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    • 2019-08-10
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    相关资源
    最近更新 更多