忽略非火花配置属性:hive.exec.dynamic.partition.mode

时间:2019-10-30 21:15:43

标签: apache-spark spark-shell

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

我尝试(如suggested 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

2 个答案:

答案 0 :(得分:3)

对于版本2.3,您可以尝试使用Custom Spark Configuration部分中建议的spark.hadoop.*前缀。如果只是文档错误,在2.2中也可以工作:)

spark-shell \
  --conf "spark.hadoop.hive.exec.dynamic.partition=true" \
  --conf "spark.hadoop.hive.exec.dynamic.partition.mode=nonstrict" \
  ...

答案 1 :(得分:1)

我遇到了同样的问题,只是找到了解决方法,可以直接在

编写之前在过程中直接设置配置
spark.conf.set("hive.exec.dynamic.partition.mode", "nonstrict")
df.write(...)