удалить столбец в таблице / представлении, используя только spark sql - PullRequest
0 голосов
/ 01 ноября 2018

у меня есть 30 столбцов в таблице, т.е. table_old

Я хочу использовать 29 столбцов в этой таблице, кроме одного. этот столбец является динамическим. я использую интерполяцию строк.

нижеприведенный запрос sparksql, который я использую

 drop_column=now_current_column

var table_new=spark.sql(s"""alter table table_old drop $drop_column""")

но ошибка его выбрасывания

 mismatched input expecting 'partition'

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

1 Ответ

0 голосов
/ 01 ноября 2018

DROP COLUMN (и в большинстве случаев ALTER TABLE команды) не поддерживаются в Spark SQL.

Если вы хотите удалить столбец, вы должны создать новую таблицу:

CREATE tmp_table AS 
SELECT ... -- all columns without drop TABLE
FROM table_old

, а затем отбросьте старую таблицу или представление и восстановите имя.

...