【发布时间】:2018-05-11 08:39:45
【问题描述】:
我正在尝试将以下格式的数据导入配置单元表中
[
{
"identifier" : "id#1",
"dataA" : "dataA#1"
},
{
"identifier" : "id#2",
"dataA" : "dataA#2"
}
]
我有多个这样的文件,我希望每个 {} 在表格中形成一行。这是我尝试过的:
CREATE EXTERNAL TABLE final_table(
identifier STRING,
dataA STRING
) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION "s3://bucket/path_in_bucket/"
这并不是为每个 {} 创建单行。我也试过了
CREATE EXTERNAL TABLE final_table(
rows ARRAY< STRUCT<
identifier: STRING,
dataA: STRING
>>
) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION "s3://bucket/path_in_bucket/"
但这也行不通。是否有某种方法可以将输入指定为一个数组,其中每条记录都是 hive 查询的数组中的一个项目?有什么建议吗?
【问题讨论】:
标签: arrays hadoop hive create-table hive-serde