Spark-不允许操作:更改表替换列

时间:2018-12-17 23:53:55

标签: apache-spark apache-spark-sql apache-spark-2.2 apache-spark-2.3

像蜂巢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仍然失败。

Operation not allowed: 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

1 个答案:

答案 0 :(得分:0)

可悲的是,似乎ALTER TABLE table REPLACE未被Spark实施。

看看SparkSqlParser.scalaSparkSqlParser.scala

您可以在其中看到哪些SQL语句可用于Spark。