Hadoop 将数据帧写入配置单元外部位置花费的时间太长
我正在使用以下配置参数运行spark作业Hadoop 将数据帧写入配置单元外部位置花费的时间太长,hadoop,apache-spark,Hadoop,Apache Spark,我正在使用以下配置参数运行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=
--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
我正在尝试将数据帧写入配置单元外部位置,如下所示。我正在研究spark 1.6和ApacheHadoop2.x
dataFrame.repartition(50)
.write().mode(SaveMode.Append)
.partitionBy(ISL_CAR.asof.name())
.saveAsTable(dbName + "." + tableName);
运行此程序时,写入配置单元外部位置需要很长时间。我找到了链接
,其中解释了类似的问题,但区别在于解释是针对Spark 2和S3数据加载的(我们在Spark 1.6中面临这个问题,并将其写入hive外部位置)。此配置是否也适用于Spark 1.6版本
上述链接建议将配置设置为:
dataset.write.option("mapreduce.fileoutputcommitter.algorithm.version", "2")
关于如何改进代码以与hive外部位置并行编写的任何建议