通过SQL ALTER TABLE命令将列添加到Spark表

时间:2018-04-25 07:02:08

标签: scala apache-spark apache-spark-sql spark-dataframe alter-table

我可以使用ALTER TABLE命令将新列添加到现有的火花表吗?

var query = "ALTER TABLE " + "global_temp." + tableName(0) + " ADD COLUMN " + newColumnName + " " + newColumnDatatype
var drt = spark.sql(query)

上述代码引发了以下错误。

 no viable alternative at input 'ALTER TABLE global_temp.people_ty ADD COLUMN' new_age integer

修改

正确的语法如下

ALTER TABLE tablename ADD COLUMNS (newColumn newDataType)

但是,它也会引发以下错误。

ALTER ADD COLUMNS does not support views.
You must drop and re-create the views for adding the new columns. Views: `global_temp`.`people_ty`

1 个答案:

答案 0 :(得分:1)

在 Spark SQL 中,语法如 Soumyadip Ghosh 在评论中所述

ALTER TABLE table_identifier ADD COLUMNS ( col_spec [ , ... ] )

对我有用。