Искра к снежинке, несоответствие номера столбца - PullRequest
0 голосов
/ 28 октября 2019

(Открытие от имени пользователя «Снежинка». На сегодняшний день пользователь получил один совет в ответ. Отправляя его, чтобы увидеть, есть ли еще какие-нибудь полезные советы ...)

Я новичок в снежинке и сталкиваюсь с этой ошибкой при переносе данных из таблицы искры в таблицу снежинок.

Нет проблем, если номера столбцов и имена столбцов совпадают.

Но когда я хочу просто добавить 37 столбцов, а остальные 4 столбца остаются нулевыми, появляется следующая ошибка:

net.snowflake.client.jdbc.SnowflakeSQLException: Number of columns in
file (37) does not match that of the corresponding table (41), use
file format option error_on_column_count_mismatch=false to ignore this
error

Вот подробности кода:

final_df.write.format("snowflake").options(**options).option("dbtable", "mytablename")
.option("column_mapping", "name").option("column_mismatch_behavior",
"ignore").option("error_on_column_count_mismatch", "false").mode("append").save()

Любой совет приветствуется. Спасибо!

Совет в ответ на дату был:

Я считаю, что вариант, который упоминается в сообщении об ошибкеотносится к параметру в вашем определении формата файла. Я не знаю точный синтаксис коннектора Spark, но является ли «снежинка» определенным форматом файла в «Снежинке»? Я не думаю, что вариант, который у вас есть в вашем коде, переводит команду COPY INTO, которую использует Snowflake для загрузки данных. Кроме того, это работает, только если 4 столбца NULL находятся в конце вашей таблицы. Возможно, лучше всего добавить 4 пустых столбца в исходный код Spark, чтобы макеты таблиц совпадали.

Какие-либо дополнительные рекомендации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...