【问题标题】:External table with nested value json具有嵌套值 json 的外部表
【发布时间】:2017-02-06 13:09:17
【问题描述】:

我正在尝试创建一个外部表处理数据,如下所示:

{"Id":"1","att":{"value":0.5}}

我写了以下查询,但它不起作用:

CREATE EXTERNAL TABLE IF NOT EXISTS table_1 (Id bigint, att double), path)

但它为 att 提供了 null。如何在查询中引用不指向 att 的值? 我正在 Emr 和 Hive 上执行此操作。

【问题讨论】:

  • 是的,我发现解决方案只是将 att 的类型更改为 struct

标签: json hive emr external-tables


【解决方案1】:

这是一个使用JsonSerde 的示例,以便为未来的用户提供答案:

CREATE EXTERNAL TABLE IF NOT EXISTS table_1 (
    Id BIGINT, 
    att STRUCT<value:DOUBLE>)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION '/location';

【讨论】:

  • 不客气。如果这解决了您的问题,请通过单击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。*顺便说一句,你也可以answer your own question
猜你喜欢
  • 1970-01-01
  • 2019-05-19
  • 2020-02-24
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
相关资源
最近更新 更多