如何基于insert语句更改配置单元表?

vcirk6k6  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(349)

我已将表声明为:

"CREATE TABLE IF NOT EXISTS Employee 
(primaryKey String, Firstname String, lastName String)" + " ROW FORMAT DELIMITED"
      + " FIELDS TERMINATED BY '\\t'"<br/>
      + " LINES TERMINATED BY '\\n'"<br/>
      + " STORED AS TEXTFILE"

表employee有3列。如果插入了第四个值,即address,我想修改这个表。我正在插入基于另一个表的值。下面是我的查询。

"INSERT INTO TABLE Employee select primaryKey,Firstname,lastName from oldEmpTable"

此查询正在运行。如果运行以下查询,则配置单元不会抱怨,表中也不会有任何更改。顺便说一下,我用的是Spark。

"INSERT INTO TABLE Employee select primaryKey,Firstname,lastName,address from oldEmpTable"

有没有办法根据insert修改表?

1tu0hz3e

1tu0hz3e1#

表架构是用 CREATE TABLE 命令。使用 INSERT INTO 使用附加字段将不会更改架构。您应该重新创建表,或者使用 ALTER TABLE 为了更改模式,在执行 INSERT 额外的字段。

相关问题