小编ani*_*hra的帖子

Spark 2.0弃用了"DirectParquetOutputCommitter",如何在没有它的情况下生存?

最近我们从"EMR on HDFS" - >"EMR on S3"(启用了一致视图的EMRFS)迁移,我们意识到与HDFS相比,写入S3的Spark'SaveAsTable'(镶木地板格式)速度慢约4倍但我们发现使用DirectParquetOutputCommitter - [1] w/Spark 1.6的解决方法.

S3缓慢的原因 - 我们不得不支付所谓的Parquet tax- [2],其中默认输出提交者写入临时表并稍后将其重命名为S3中的重命名操作非常昂贵

我们也了解使用'DirectParquetOutputCommitter'的风险,这可能会导致数据损坏,并启用推测任务.

现在w/Spark 2.0这个类已被弃用,我们想知道我们在桌面上有什么选项,这样我们就不会在升级到Spark 2.0时承受大约4倍的写入速度.任何想法/建议/建议都将受到高度赞赏.

我们可以想到的一个解决方法是 - 保存在HDFS上,然后通过s3DistCp将其复制到S3(当我们的Hive元数据存储指向S3时,如何以理智的方式完成这些任何想法?)

看起来像NetFlix已经修复了这个 - [3],有什么想法他们何时计划开源呢?

谢谢.

[1] - https://github.com/apache/spark/blob/21d5ca128bf3afd5c2d4c7fcc56240e28443474f/sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/parquet/DirectParquetOutputCommitter.scala

[2] - https://www.appsflyer.com/blog/the-bleeding-edge-spark-parquet-and-s3/

[3] - https://www.youtube.com/watch?v=85sew9OFaYc&feature=youtu.be&t=8m39s http://www.slideshare.net/AmazonWebServices/bdt303-running-spark-and-presto-on-the -netflix -大数据平台

hadoop amazon-s3 amazon-emr apache-spark parquet

16
推荐指数
1
解决办法
4513
查看次数

标签 统计

amazon-emr ×1

amazon-s3 ×1

apache-spark ×1

hadoop ×1

parquet ×1