我有一个应用程序,我使用SparkSession.sql()
方法发送HQL。
首先,我创建一个包含parititions的表
CREATE TABLE table_name (Id BigInt) PARTITIONED BY(Age BigInt)
在此之后,我遵循以下ALTER
表语句:
ALTER TABLE table_name ADD COLUMNS(Name String)
ALTER
命令失败,出现以下异常:
InvalidOpearationException(message: parititions keys can not be changed)
当我尝试在没有任何分区的表上执行ALTER语句时,它运行正常。
上述代码也可以使用 Spark 1.6。
运行如果我直接在Hive中运行它们,上述HQL语句也可以正常工作。
我阅读了Spark的更改日志,但找不到以下行为的任何解释。
任何人都可以帮我弄清楚发生了什么吗?