我输入了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 .......
尝试了一下,没有成功找到改变表命令的问题所在。
1条答案
按热度按时间mitkmikd1#
从spark使用url连接到beeline,并使用python中导入的process命令,打开shell执行命令,它工作了,并改变了分区表中旧分区的表precent。