从json数据创建配置单元表

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

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

  1. {
  2. "Name": "xxxx",
  3. "Address": [{
  4. "Street": "aa",
  5. "City": "bbb"
  6. }, {
  7. "Street": "ccc",
  8. "City": "ddd",
  9. "Country": "eee"
  10. }]
  11. }

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

toe95027

toe950271#

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

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

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

相关问题