【问题标题】:HIVE query with Lateral View,Json_Tuple带横向视图的 HIVE 查询,Json_Tuple
【发布时间】:2018-08-24 17:21:14
【问题描述】:

我有一个这样的json文件

{"client":[{"name":"xyz","id":"123"}]}

我已经创建了 hive 外部表

create external table clients (client  STRING) LOCATION '  '  

我将 json 文件放到了表位置。

我正在尝试使用 LATERAL VIEW、JSON_TUPLE 获取名称、id 字段。

select v2.name,v2.id
from clients c
lateral view json_tuple(c.client,'client') v1 as client
lateral view json_tuble(v1.client,'id','name') v2 as id,name  

我知道如果 json 文件中没有方括号,上述查询会起作用。

我找不到与此相关的任何内容。
使用LATERAL VIEW,JSON_TUPLE时如何处理json文件中的ARRAY节点?

【问题讨论】:

    标签: hive hiveql


    【解决方案1】:

    regexp_replace '[' 和 '' 怎么样?

    select v2.name,v2.id
    from clients c
    lateral view json_tuple(regexp_replace(c.client,'[|]',''),'client') v1 as client
    lateral view json_tuble(v1.client,'id','name') v2 as id,name  
    

    按照这些思路应该可以工作

    【讨论】:

      猜你喜欢
      • 2017-07-13
      • 1970-01-01
      • 2022-08-23
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      • 2018-01-02
      • 1970-01-01
      • 2014-01-07
      相关资源
      最近更新 更多