为分割字符串

时间:2016-01-22 11:59:52

标签: hive impala

我尝试使用正则表达式并将其拆分为预先确定的字符,然后提取返回列表的最终值。

例如,我的字符串可以采用以下形式:

name
WAYNE.ROONEY.226
ROSS.BARKLEY.HELLO.113
ADAM.A122

从词汇上讲,我试图做的是:

for x in list:
  my_val = x.split('.')[-1] #Return the last element of the list when split on .

e.g。期望的输出:

name                         value
WAYNE.ROONEY.226             226
ROSS.BARKLEY.HELLO.113       113
ADAM.A122                    A122

任何人都可以在Hive或Impala中提供任何指示吗?

如果我可以将其创建为视图,理想情况下,这将是完美的,但我也很高兴用它生成实际输出然后重新上传到表

谢谢!

1 个答案:

答案 0 :(得分:1)

对于Hive:

select regexp_extract(NAME, '\\.([^\\.]+)$', 1) as VALUE
from WHATEVER

并且pleeeease [edit] 学习正则表达式的力量......