【问题标题】:How to get list of Strings in hive from a json array如何从 json 数组中获取 hive 中的字符串列表
【发布时间】:2021-05-06 22:33:28
【问题描述】:

我有以下 json 字符串

{
  "userId": 12345,
  "eligibleCountries": [
    {
      "Level": "COUNTRY",
      "Name": "MX"
    },
    {
      "Level": "COUNTRY",
      "Name": "US"
    },
    {
      "Level": "COUNTRY",
      "Name": "CA"
    }
  ]
}

我想得到

userID countries
12345 ["MX","US","CA"]

我可以使用GET_JSON_OBJECT 获取用户ID,但对于我们不能使用GET_JSON_OBJECT 的国家/地区列表。 我们如何在 hive 中获得它。

【问题讨论】:

    标签: json parsing hive hiveql


    【解决方案1】:

    你可以使用[*]

    select get_json_object('{
      "userId": 12345,
      "eligibleCountries": [
        {
          "Level": "COUNTRY",
          "Name": "MX"
        },
        {
          "Level": "COUNTRY",
          "Name": "US"
        },
        {
          "Level": "COUNTRY",
          "Name": "CA"
        }
      ]
    }','$.eligibleCountries[*].Name') as countries;
    

    【讨论】:

      猜你喜欢
      • 2015-03-22
      • 1970-01-01
      • 2015-11-11
      • 2012-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      相关资源
      最近更新 更多