我正在尝试为 .txt 格式的 json 文件创建一个配置单元外部表。我尝试了几种方法,但我认为应该如何定义配置单元外部表我错了:
我的示例 JSON 是:
[[
{
"user": "ron",
"id": "17110",
"addr": "Some address"
},
{
"user": "harry",
"id": "42230",
"addr": "some other address"
}]]
如您所见,它是数组中的数组。似乎这是由 API 返回的有效 json,尽管我读过帖子说 json 应该以“{”开头
无论如何,我正在尝试创建一个像这样的外部表:
CREATE EXTERNAL TABLE db1.user(
array<array<
user:string,
id:string,
desc:string
>>)
PARTITIONED BY(date string)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
STORED AS TEXTFILE
LOCATION '/tmp/data/addr'
这不起作用。这样的事情也不起作用
CREATE EXTERNAL TABLE db1.user(
user string,
id string,
desc string
)PARTITIONED BY(date string)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
STORED AS TEXTFILE
LOCATION '/tmp/data/addr'
在尝试修改 json 文本文件,将 [ 替换为 { 等,添加分区后,我仍然无法使用 select * 查询它。我缺少表结构中的一个关键部分。
你能帮助我,以便表格可以正确读取我的 JSON 吗?
如果需要,我可以修改输入 JSON,如果双 [[ 有问题。