hive 在使用pyspark运行时改变表添加列的问题pyspark.sql.utils.ParseException" "\nextraneous input 'CASCADE' exception

ewm0tg9j  于 2021-04-08  发布在  Hive
关注(0)|答案(1)|浏览(1409)

我输入了dataframe,如下所示。df_input

|a |b |c |mon|src_id|
|5 |2 |3 |1  |A     |
|1 |5 |4 |2  |A     |
|1 |5 |3 |2  |B     |

分区为mon和src_id。
现在,我想在现有的分区中添加一列新的列,在加载到表中后,尝试使用以下命令。

df_input.write.mode("overwrite").partitionBy().format("parquet").saveAsTable(db_name.table_name)
spark.sql("ALTER TABLE data_base.table_name ADD COLUMNS (d long) CASCADE")

但得到以下错误。

pyspark.sql.utils.ParseException" "\nextraneous input 'CASCADE' exception <EOF>(line 1, pos 63)\n\n== SQL ==\nALTER TABLE data_base.table_name ADD COLUMNS (d long) CASCADE\n .......

尝试了一下,没有成功找到改变表命令的问题所在。

mitkmikd

mitkmikd1#

从spark使用url连接到beeline,并使用python中导入的process命令,打开shell执行命令,它工作了,并改变了分区表中旧分区的表precent。

相关问题