【问题标题】:Equivalent of split_function() in HIVE等效于 HIVE 中的 split_function()
【发布时间】:2021-05-26 20:07:54
【问题描述】:

根据我的项目要求,我想出了一个复杂的逻辑,其中有“一小部分”如下:

    'regexp_extract(split_part(vw_cart.order_detail,':',2), '[0-9]+', 0)'

它在 IMPALA 中就像一个魅力,但在 HIVE 中却失败了。

我正在努力为我的代码的 HIVE 执行寻找类似于“SPLIT_PART”的内容。

任何指导都会有所帮助。

【问题讨论】:

  • split 工作吗?

标签: hive bigdata etl hiveql impala


【解决方案1】:

在Hive中split()函数返回数组,数组元素从0开始编号。

在 Impala split_part(vw_cart.order_detail,':',2) - 从分隔字符串返回第二个元素,从 1 开始编号

所以,在 Hive 中它将是:

regexp_extract(split(vw_cart.order_detail,':')[1], '[0-9]+', 0)

【讨论】:

  • 如此简单,却又如此有效。谢谢。
猜你喜欢
  • 2020-03-21
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多