如何解决使用pyspark运行时,Hive Alter Table添加列问题
我的输入数据框如下: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 .......
尝试但未成功在alter table命令中查找问题所在。
解决方法
使用url连接到beeline的spark和使用在python中导入的process命令并通过打开外壳执行该命令。它为分区表中的旧分区工作并更改了该表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。