1

看起来 hivereplace 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 COLUMNS2.2 版本以后修复。它也适用于我,但replace columns仍然失败。

不允许的操作:alter table add columns(line 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-or-view.html#replace-columns

4

1 回答 1

0

可悲的是,它似乎ALTER TABLE table REPLACE没有被 Spark 实现。

看看SparkSqlParser.scalaSparkSqlParser.scala

在那里,您可以看到哪些 SQL 语句适用于 Spark。

于 2019-05-29T20:46:25.163 回答