【问题标题】:Replacing multiple values in an array in hive在配置单元中替换数组中的多个值
【发布时间】:2022-08-21 03:09:32
【问题描述】:

我有一列包含完整显示的语言,我需要更改它并发送 ISO 格式。

SELECT id, get_json_object(json_data, \'$.languages\') AS language from someTable

json_data 列中的数据:

 {
   languages : [\'English\',\'French\',\'Japanese\']
 }

我想了解如何编写 hql 查询,以便我可以提取语言并用 iso 代码替换每种语言。

当前结果

Id Language
1 [\'English,\'French\',\'Japanese\']
2 [\'English,\'Kannada\',\'Japanese\',\'Hindi\']

预期结果

Id Language
1 [\'en,\'fr\',\'jp\']
2 [\'en,\'kn\',\'jp\',\'hn\']

我知道我可以使用 replace_regex 函数,但由于可能有多种语言,它可能会导致大量的 replace_regex 嵌套,有更好的方法吗?

    标签: hive hql


    【解决方案1】:

    为什么不添加仅包含 iso 格式的列

    【讨论】:

      猜你喜欢
      • 2016-06-05
      • 1970-01-01
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      相关资源
      最近更新 更多