Hadoop 如何在json serde表中更改/添加列

Hadoop 如何在json serde表中更改/添加列,hadoop,hive,hiveql,Hadoop,Hive,Hiveql,我有一张桌子 CREATE EXTERNAL TABLE IF NOT EXISTS XYZ.testtable ( x BIGINT, y STRING, z STRING ) PARTITIONED BY ( date string, hour STRING ) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'paths'='x, y

我有一张桌子

CREATE EXTERNAL TABLE IF NOT EXISTS XYZ.testtable (
x BIGINT,
y STRING,
z STRING
)
PARTITIONED BY (
      date string,
      hour  STRING
    ) 
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
        WITH SERDEPROPERTIES ( 'paths'='x, y, z')
        STORED AS TEXTFILE
        LOCATION 'testlocation/testtable'
有大量的json数据。我想在现有表中再添加一列类似c的内容,所以我尝试了

>1. alter table XYZ.testtable add columns (c STRING);

> 2.ALTER TABLE XYZ.testtable SET SERDEPROPERTIES ( 'paths'='x, y, z, c')
但json文件中的c值为空。


我尝试删除并重新创建带有“c”列的表。它工作得很好。任何人都可以帮助修改jsonserde表以添加coulmn。

我认为您需要使用
alter PARTITION
@cricket\u 007添加列,我不是在尝试添加分区,我是在尝试添加列您是在分区中添加列。例如,我认为
altertablepartitiondate='x',hour='y'添加列…