【问题标题】:Extract text from string in hive with regexp_extract使用 regexp_extract 从 hive 中的字符串中提取文本
【发布时间】:2021-06-08 21:42:09
【问题描述】:

在我的示例中,如何从列 even_list 中提取 '705=' 和下一个逗号之间的数字?

【问题讨论】:

  • 欢迎来到 SO!请在帖子中以文本形式显示您的示例数据和所需结果。

标签: regex string hive extract hiveql


【解决方案1】:

请在 hive 中使用split
首先,我们将使用705= 作为分隔符来拆分数据。
然后再次使用 split 以逗号分隔。这给了我想要的结果。

select  split(split('123705=35,4,6752,56','705=')[1],',')[0] col 
output
35

【讨论】:

    【解决方案2】:

    使用正则表达式:

    select regexp_extract(event_list,'705=([0-9.]+)',1) 
    

    或者你可以使用更严格的正则表达式和逗号',705=([0-9.]+),'

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多