(Открытие от имени пользователя «Снежинка». На сегодняшний день пользователь получил один совет в ответ. Отправляя его, чтобы увидеть, есть ли еще какие-нибудь полезные советы ...)
Я новичок в снежинке и сталкиваюсь с этой ошибкой при переносе данных из таблицы искры в таблицу снежинок.
Нет проблем, если номера столбцов и имена столбцов совпадают.
Но когда я хочу просто добавить 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, чтобы макеты таблиц совпадали.
Какие-либо дополнительные рекомендации?