我无法将嵌套的JSON数据加载到Hive表中。有人可以帮我吗?下面是我曾尝试:为嵌套的JSON数据创建Hive表
样品输入:
{"DocId":"ABC","User1":{"Id":1234,"Username":"sam1234","Name":"Sam","ShippingAddress":{"Address1":"123 Main St.","Address2":null,"City":"Durham","State":"NC"},"Orders":[{"ItemId":6789,"OrderDate":"11/11/2012"},{"ItemId":4352,"OrderDate":"12/12/2012"}]}}
在蜂巢(CDH3):
ADD JAR /usr/lib/hive/lib/hive-serdes-1.0-SNAPSHOT.jar;
CREATE TABLE json_tab(
DocId string,
user1 struct<Id: int, Username: string, Name:string,ShippingAddress:struct<address1:string,address2:string,city:string,state:string>,orders:array<struct<ItemId:int,orderdate:string>>>
)
ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
STORED AS TEXTFILE;
hive> select * from json_tab;
OK
NULL null
我在这里得到NULL
秒。
与HCatalog罐子也试过:
ADD JAR /home/training/Desktop/hcatalog-core-0.11.0.jar;
CREATE TABLE json_tab(
DocId string,
user1 struct<Id: int, Username: string, Name:string,ShippingAddress:struct<address1:string,address2:string,city:string,state:string>,orders:array<struct<ItemId:int,orderdate:string>>>
)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe';
但低于错误与我create table
声明面临:
失败:错误的元数据:无法验证SERDE: org.apache.hive.hcatalog .data.JsonSerDe FAILED:执行错误, 从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1
有人可以帮我吗?感谢您的帮助提前。
谢谢。我试着用建议的依赖关系jar。但是,创建表语句抛出错误为“失败:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask。org.apache.hadoop.hive.serde2.objectinspector.primitive.AbstractPrimitiveJavaObjectInspector返回代码1( Lorg /阿帕奇/ hadoop的/蜂巢/ serde2/objectinspector /原始/ PrimitiveObjectInspectorUtils $ PrimitiveTypeEntry;)V”。你能检查一下,让我知道可以做些什么吗?我尝试了CDH3和CDH5。 –
user2531569