【发布时间】:2015-06-04 09:15:16
【问题描述】:
我正在尝试根据事件的名称将反序列化的 json 事件加载到不同的表中。
现在我把所有的事件都放在同一个表中,表只有两列 EventName 和 Payload(payload 存储了事件的 json 表示):
CREATE TABLE event( EventName STRING, Payload STRING)
所以基本上我想要的是加载下表中的数据:
CREATE TABLE TempEvent ( Column1 STRING, Column2 STRING, Column3 STRING )
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
STORED AS TEXTFILE;
并使用以下内容加载事件:
INSERT INTO TempEvent select Payload from event where EventName='TempEvent';
但是 hive 抛出一个异常,说目标表有 3 列,而 select 语句只有 1。
还有其他方法可以完成这个还是我做错了什么?
【问题讨论】: