问题描述
根据我的项目要求,我提出了一个复杂的逻辑,其中包含如下“一小部分”:
'regexp_extract(split_part(vw_cart.order_detail,':',2),'[0-9]+',0)'
它在 IMPALA 中很有效,但在 HIVE 中却失败了。
我正在努力寻找类似于“SPLIT_PART”的东西,以便 HIVE 执行我的代码。
任何指导都会有所帮助。
解决方法
在 Hive 中 split()
函数返回数组,数组元素从 0 开始编号。
在 Impala split_part(vw_cart.order_detail,':',2)
中 - 从分隔字符串中返回第二个元素,从 1 开始编号
因此,在 Hive 中将是:
regexp_extract(split(vw_cart.order_detail,':')[1],'[0-9]+',0)