Как фрейм данных с измененной схемой можно вставить в таблицу Hive - PullRequest
0 голосов
/ 16 июня 2020

У меня возникла проблема при записи фрейма данных в таблицу Hive.

df_inp с 4 столбцами:

|dim1|dim2|  byvar|value1|
| 101| 102|MTD0001|     1|
| 201| 202|MTD0002|     2|
| 301| 302|MTD0003|     3|

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

df_inp.write.mode("overwrite").saveAsTable(db_name.table_name)

Теперь, когда у меня есть изменение в схеме фрейма данных

df_inp с 5 столбцами:

|dim1|dim2|  byvar|value1|value2|
| 101| 102|MTD0001|     1|    10|
| 201| 202|MTD0002|     2|    12|
| 301| 302|MTD0003|     3|    13|

Теперь, когда я Я вставляю тот же фрейм данных в существующую таблицу (с перезаписью), вставка не удалась из-за изменения схемы ??

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

...