我对蜂巢来说是全新的。
我使用Json.SerDe
在我的json文件上创建了一个hive表,并且还加载了数据。
以下是结构
CREATE EXTERNAL TABLE JsonTable_raw (
data array<struct<
start_date:string,
end_date:string,
measures:struct<
Visitors:int,
Singlepagevisits:int
>
>
>
) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
我创建了另一个未使用JsonSerDe
格式化的表。
CREATE EXTERNAL TABLE JsonTable (
start_date string,
end_date string,
Visitors int,
Singlepagevisits int
)
我尝试使用以下查询
INSERT INTO TABLE JsonTable select
data.start_date,data.end_date,data.measures.Visitors,
data.measures.Singlepagevisits FROM JsonTable_raw;
但它扔了
NoMatchingMethodException没有类的匹配方法 带(数组)的org.apache.hadoop.hive.ql.udf.UDFToInteger。可能 选项: FUNC (bigint) FUNC (布尔) FUNC (十进制(38,18)) FUNC (double) FUNC (float) FUNC (smallint) FUNC (字符串) FUNC (timestamp) FUNC (tinyint) FUNC (void)
现在如何将数据从JsonTable_raw复制到JsonTable?