从json数据创建配置单元表

mfuanj7w  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(488)

我有一个包含json数据的文件,格式如下:
前任:

{
    "Name": "xxxx",
    "Address": [{
        "Street": "aa",
        "City": "bbb"
    }, {
        "Street": "ccc",
        "City": "ddd",
        "Country": "eee"
    }]
}

上面的json是一个有效的json。我想使用jsonserde在上述表单的数据之上创建一个配置单元表。

toe95027

toe950271#

创建定义了所有可能字段的表。如果json中不存在字段,select将返回null:

CREATE EXTERNAL TABLE your_table (
Name string,
Address array<struct<Street:string,City:string,Country:string>>
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'

如果json文件中的名称与配置单元保留字冲突,请在表定义中添加Map和重命名名称: WITH SERDEPROPERTIES ('mapping.renamed_column'='original_column') 并重命名表列。
将文件放在表位置。
另请参见文档中的一些示例:https://github.com/rcongiu/hive-json-serde

相关问题