10

如何使用 运行 Spark-shell hive.exec.dynamic.partition.mode=nonstrict

我尝试(如建议here

  export SPARK_MAJOR_VERSION=2; spark-shell  --conf "hive.exec.dynamic.partition.mode=nonstrict" --properties-file /opt/_myPath_/sparkShell.conf'

但警告“忽略非火花配置属性:hive.exec.dynamic.partition.mode=nonstrict”


PS:使用 Spark 版本 2.2.0.2.6.4.0-91,Scala 版本 2.11.8

笔记

需求在错误后到达df.write.mode("overwrite").insertInto("db.partitionedTable")

org.apache.spark.SparkException:动态分区严格模式需要至少一个静态分区列。要关闭此设置 hive.exec.dynamic.partition.mode=nonstrict

4

2 回答 2

9

您可以尝试使用2.3 版自定义 Spark 配置spark.hadoop.*部分中建议的前缀。如果它只是一个文档错误,可能在 2.2 中也能正常工作:)

spark-shell \
  --conf "spark.hadoop.hive.exec.dynamic.partition=true" \
  --conf "spark.hadoop.hive.exec.dynamic.partition.mode=nonstrict" \
  ...
于 2019-10-30T23:12:12.120 回答
4

我遇到了同样的问题,只是在编写之前找到了直接在进程中设置配置的解决方法

spark.conf.set("hive.exec.dynamic.partition.mode", "nonstrict")
df.write(...)
于 2019-10-30T22:07:57.330 回答