Hive 在蜂巢中提取正则表达式以提取日期

Hive 在蜂巢中提取正则表达式以提取日期,hive,Hive,我需要在Hive中使用regex\u extract的帮助。我有一个字符串列,需要从中提取日期。样本数据如下所示 Abc def: 23-oct-17 Def:abc abc: 23-nov-2017 My data is: 17-nov-17 split()函数也是基于regexp的,您可以使用分号+一个或多个空格进行拆分: select split(str,':\\s+')[1] date from ( select stack(3, 'Abc def: 23-oct-17', 'Def

我需要在Hive中使用
regex\u extract
的帮助。我有一个字符串列,需要从中提取日期。样本数据如下所示

Abc def: 23-oct-17
Def:abc abc: 23-nov-2017
My data is: 17-nov-17
split()函数也是基于regexp的,您可以使用分号+一个或多个空格进行拆分:

select
split(str,':\\s+')[1] date
from
(
select 
stack(3,
'Abc def: 23-oct-17',
'Def:abc abc: 23-nov-2017',
'My data is: 17-nov-17'
) as str
)s
结果:

OK
23-oct-17
23-nov-2017
17-nov-17
Time taken: 0.063 seconds, Fetched: 3 row(s)

因为数据是字符串的最后一部分,所以可以使用下面的查询

hive> select regexp_extract('Def:abc abc: 23-nov-2017', '\\d*-\\w*-\\d*$', 0);
OK
23-nov-2017

上面的reg ex将字符串结尾与模式DD-MON-YYYY匹配

能否突出显示行的完整表示形式及其包含的数据?现在还不清楚。您能分享输入(表/列)和预期输出吗?示例是我必须从中提取日期的列中的3行。下面是3行Abc def:23-10-17 def:Abc Abc Abc:23-11-2017我的数据是:17-11-17