我在使用regexp_extract时遇到了一些问题:
我在一个制表符分隔的文件上查询,我正在检查的列包含如下所示的字符串:
abc.def.ghi
Run Code Online (Sandbox Code Playgroud)
现在,如果我这样做:
select distinct regexp_extract(name, '[^.]+', 0) from dummy;
Run Code Online (Sandbox Code Playgroud)
MR作业运行,它工作,我从索引0得到"abc".
但现在,如果我想从索引1获得"def":
select distinct regexp_extract(name, '[^.]+', 1) from dummy;
Run Code Online (Sandbox Code Playgroud)
Hive失败了:
2011-12-13 23:17:08,132 Stage-1 map = 0%, reduce = 0%
2011-12-13 23:17:28,265 Stage-1 map = 100%, reduce = 100%
Ended Job = job_201112071152_0071 with errors
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
Run Code Online (Sandbox Code Playgroud)
日志文件说:
java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row
Run Code Online (Sandbox Code Playgroud)
我在这里做了一些根本错误的事吗?
谢谢,马里奥
我有一串被::分隔的单词.如何使用Hive UDF regexp_extract()从字符串中提取单词?