看起来Hive replace columns
不使用Spark 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
仍然失败。
不允许操作:Alter表添加列(第1行,POS 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-table-or-view.html#replace-columns
可悲的是,ALTER TABLE table REPLACE
似乎不是由Spark。
看一下SparkSqlParser.scala
:Sparksqlparser.scala
在那里,您可以看到,什么SQL语句与Spark一起使用。