我在hdfs上有一个目录,里面有.json文件,.gz压缩文件(几乎有1k个)。我想使用这些文件创建配置单元表(cloudera环境)。我尝试了很多方法,例如:
CREATE EXTERNAL TABLE `my_data_table`(
`timestamp` timestamp,
`ip` string,
`name` string,
`id` string,
`job` string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
'hdfs://my/files/location'
但表显示了单元格值和标记(例子:
“name”:“约翰”
而不是
厕所
)json中的数据如下所示(例如,多行中的一行):
{"timestamp":"2015-05-09T04:24:58Z","ip":"123.321.12.123","name":"John","id":"EX291236","job":"Programmer","phone":["number:2874723467","model:Alcatel","os:Android"]}
我还想知道如何包括“电话”的数据,需要处理一些特殊的方式,显然。希望你们能帮我。
暂无答案!
目前还没有任何答案,快来回答吧!