Игнорирование свойства конфигурации без искры: hive.exec.dynamic.partition.mode - PullRequest
2 голосов
/ 31 октября 2019

Как запустить Spark-shell с hive.exec.dynamic.partition.mode=nonstrict?

Я пытаюсь (как предложено здесь )

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

, но с предупреждением "Игнорирование без искрысвойство config: 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 ]

1 голос
/ 31 октября 2019

Вы можете попробовать использовать префикс spark.hadoop.*, как предложено в Пользовательская конфигурация Spark для версии 2.3. Может работать и в 2.2, если это была просто ошибка с документом:)

spark-shell \
  --conf "spark.hadoop.hive.exec.dynamic.partition=true" \
  --conf "spark.hadoop.hive.exec.dynamic.partition.mode=nonstrict" \
  ...
0 голосов
/ 31 октября 2019

У меня возникла та же проблема, и я нашел обходной путь, чтобы установить конфиг прямо в процессе, прежде чем писать как

spark.conf.set("hive.exec.dynamic.partition.mode", "nonstrict")
df.write(...)
...