将Dataframe编写为hive外部位置花费的时间太长

时间:2017-10-12 12:17:12

标签: 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=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外部位置。我找到了链接 DataTable,在这里解释类似的问题,但区别在于Spark 2和S3数据加载的解释(我们在Spark 1.6中面临问题并写入hive外部位置)。此配置是否也适用于Spark 1.6版本?

以上链接的建议是将配置设置为:

dataset.write.option("mapreduce.fileoutputcommitter.algorithm.version", "2")

有关如何改进与hive外部位置并行编写的代码的任何建议。

0 个答案:

没有答案