相关疑难解决方法(0)

如何使用新的 Hadoop parquet magic commiter 通过 Spark 自定义 S3 服务器

我有 spark 2.4.0 和 Hadoop 3.1.1。根据Hadoop 文档,要使用允许将镶木地板文件一致写入 S3 的新 Magic 提交器,我已在以下位置设置了这些值conf/spark-default.conf

spark.sql.sources.commitProtocolClass       com.hortonworks.spark.cloud.commit.PathOutputCommitProtocol
spark.sql.parquet.output.committer.class    org.apache.hadoop.mapreduce.lib.output.BindingPathOutputCommitter
spark.hadoop.mapreduce.outputcommitter.factory.scheme.s3a    org.apache.hadoop.fs.s3a.commit.S3ACommitterFactory
spark.hadoop.fs.s3a.committer.name          magic
spark.hadoop.fs.s3a.committer.magic.enabled true
Run Code Online (Sandbox Code Playgroud)

使用此配置时,我最终遇到了异常:

java.lang.ClassNotFoundException: com.hortonworks.spark.cloud.commit.PathOutputCommitProtocol
Run Code Online (Sandbox Code Playgroud)

我的问题是双重的,首先我是否正确理解 Hadoop 3.1.1 允许一致地将镶木地板文件写入 S3?
其次,如果我理解得很好,如何从 Spark 正确使用新的提交者?

hadoop amazon-s3 apache-spark

6
推荐指数
1
解决办法
2269
查看次数

标签 统计

amazon-s3 ×1

apache-spark ×1

hadoop ×1