Spark - операция не разрешена: изменить таблицу, заменить столбцы

Похоже, улей replace columns не работает со искрой 2.2.1, а также с 2.3.1.

alterSchemaSql : alter table myschema.mytable replace columns (a int,b int,d int)
Exception in thread "main" org.apache.spark.sql.catalyst.parser.ParseException: 
Operation not allowed: alter table replace columns(line 2, pos 6)

Похоже, это было исправлено для версии ADD COLUMNS 2.2 и выше. Это также работает для меня, но replace columns все еще не работает.

Операция не разрешена: изменить таблицу добавить столбцы (строка 1, позиция 0)

В следующих документах говорится, что он должен поддерживаться. Не уверен, почему это терпит неудачу для меня. https://spark.apache.org/docs/2.2.0/sql-programming-guide.html#supported-hive-features

https://docs.databricks.com/spark/latest/spark-sql/language-manual/alter-table-or-view.html#replace-columns


person nir    schedule 17.12.2018    source источник
comment
Вы имеете в виду переименовать столбец или заменить столбец?   -  person Anurag Sharma    schedule 18.12.2018
comment
заменить колонку.   -  person nir    schedule 18.12.2018


Ответы (1)


К сожалению, кажется, что ALTER TABLE table REPLACE не реализовано в Spark.

Взгляните на SparkSqlParser.scala: SparkSqlParser.scala

Там вы можете увидеть, какие операторы SQL работают со Spark.

person Gooseman    schedule 29.05.2019