我正在使用以下配置参数运行spark作业。
--deploy-mode cluster --master yarn-cluster --driver-memory 20g \
--executor-memory 25g \
--conf spark.yarn.executor.memoryOverhead=6000 \
--conf spark.driver.maxResultSize=2000 \
--conf spark.yarn.driver.memoryOverhead=2000 --num-executors 5
我正在尝试将数据帧写入hive外部位置,如下所示。我正在研究spark 1.6和Apache Hadoop 2.x
dataFrame.repartition(50)
.write().mode(SaveMode.Append)
.partitionBy(ISL_CAR.asof.name())
.saveAsTable(dbName + "." + tableName);
在运行此操作时,需要很长时间才能写入hive外部位置。我找到了链接 ,在这里解释类似的问题,但区别在于Spark 2和S3数据加载的解释(我们在Spark 1.6中面临问题并写入hive外部位置)。此配置是否也适用于Spark 1.6版本?
以上链接的建议是将配置设置为:
dataset.write.option("mapreduce.fileoutputcommitter.algorithm.version", "2")
有关如何改进与hive外部位置并行编写的代码的任何建议。