如何将多个Json文件(可能具有不同的字段)加载到一个配置单元表中

时间:2019-03-03 10:28:37

标签: json hadoop hive

我有两个在不同日期生成的JSON文件。 它们都属于相同的业务规范。所以我想插入一个蜂巢表。怎么做?

场景:

拳头JSON: { “a2, “ b”:3, }

第二个JSON: { “ a”:1, “ b”,2, “ c”,3 }

以上两项都必须插入同一配置单元表中。以及如何读取字段并从中创建一个新表,这将是一个平坦的表?

1 个答案:

答案 0 :(得分:0)

将文件放入相同的表位置(或使用LOAD DATA command)并使用JSONSerDe

CREATE EXTERNAL TABLE mytable (
  a int,
  b int,
  c int
)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
LOCATION '<HDFS location>' --this is HDFS/S3 location
;

如果某些JSON对象不包含表DDL中定义的所有键,则不存在的键将被解析为NULL。