我有字符串列,我想要第一个分号后的数据列数据:Options;list:direct&ACFs:Sharemarket我希望输出为list:direct&ACFs:股票市场我试过这个选项选择(regexp_extract(property,'^(?:([^;]*)\;?){2}',1))结果输出为list:direct&如何在第一个分号之后填充完整的字符串,就像我的输出一样list:direct&ACFs:股票市场有人能帮帮我吗? 最佳答案 你可以试试这个selectregexp_extract('Options;list;d
我需要使用regex_extract从列中的字符串中提取数字。我在外部表上使用Impala。我已经检查了正则表达式,为了测试它,我还使用了regexp_like和regexp_replace。他们两个都工作得很完美。这里是查询:selectsucursal,regexp_like(sucursal,'^[0-9]{1,3}')asmatch,regexp_extract(sucursal,'^[0-9]{1,3}',1)asCodSucusal,regexp_replace(sucursal,'^[0-9]{1,3}','lala')asRepCodSucusalfromjdv.stg
我不是正则表达式专家,我在Hive中使用regexp_replace时遇到问题。我想将CSV文件加载到Hive中,其中包含如下行:AAA,1234,BBB,,,"""CC,CCC""","""DDD""","""EE"EEE""",,"""AAA""",1234,BBB,,,CCCC,"""DD,DD""",,"""FFFF""",如您所见,格式并不完美字符串字段中有非转义逗号一些字符串字段用“””(3个双引号)括起来字符串字段中有非转义双引号有空字段当我尝试将其导入Hive表时,由于未转义的逗号,列无法很好地解析。所以我将原始数据作为行导入到Hive表中,如下所示:CREATEEXT
我正在尝试从“[223.104.227.42]”中提取IP地址。我想提取“[”和“]”之间的223.104.227.42,我正在使用这个查询:selectregexp_extract('[223.104.227.42]','\\[(.*?)\\]')但是我得到一个错误:FAILED:Infunctionregexp_extract,patternmusthasonegroupreferenceatleast. 最佳答案 尝试将捕获组索引指定为参数(1):hive>selectregexp_extract('[223.104.227.
我想使用CASEWHEN、LIKE和正则表达式在配置单元表中编写查询。我使用了regexp和rlike,但我没有得到想要的结果。到目前为止,我的尝试如下selectdistinctendingfrom(selectdate,ending,name,count(distinctid)from(selectCONCAT_WS("/",year,month,day,hour)asdate,id,name,casewhentype='TRAN'then'tran'wheneventsregexp'%[:]no_reply[:]%[^o][^n][:]incomplete[:]%'andtype
我正在尝试在Hive中使用REGEXP_EXTRACT函数从列中获取所需的字符串。列中数据的形式为:单词\more_words我需要提取\之后的字符串部分。我试着做这样的事情:SELECTREGEXP_EXTRACT('words\more_words','(.*)(\\+)(.*)',3)->不返回任何内容SELECTREGEXP_EXTRACT('words\more_words','.*(\\+)(.*)',2)->不返回任何内容SELECTREGEXP_EXTRACT('words\more_words','\w+(\\+)(\w+)',2)->什么都不返回SELECTREGE
1)如何将下面的hive部分转换为javamapreduce?translate(regexp_replace(colA,"(\\\\=)","\\\\equalto"),"\[\]\(\)\{\}\^\?\+\*\$","____________")在regexp_replace中,我将替换所有=,在外部翻译中,我将替换所有影响futureregexp_replace解析的字符。(如果我不替换这些字符,它们稍后会引发异常)。2)我是否必须使用replaceChars(),如果是,那么如何?示例字符串格式为:tag1=573tag2=ABC0nuif6dSaturn0i899AA0(W
我有以下文件:File----12-3John1215-1Sam122该文件是制表符(\t)分隔的。我将行加载为line:chararray,因为我希望数据不会在各个字段中拆分。现在,我想提取详细信息(12-3和5-1)并将其存储为单独的数据。我正在尝试使用STRSPLIT和REGEX_EXTRACT_ALL,但数据似乎不匹配。splitdata=FOREACHfiledata{regex=REGEX_EXTRACT_ALL(line,'^([0-9]*)\\-([0-9]*)');split=STRSPLIT(line,'\\t',1);GENERATEregex,split;};这
我正在使用配置单元0.13!我想在我的数据中找到多个标记,如“hiphop”和“rockmusic”,并将它们替换为“hiphop”和“rockmusic”——基本上替换它们时没有空格。我在配置单元中使用了regexp_replace函数。下面是我的查询,它适用于上述2个示例。droptablevp_hiphop;createtablevp_hiphopasselectuserid,ntext,regexp_replace(regexp_replace(ntext,'hiphop','hiphop'),'rockmusic','rockmusic')asntext1fromvp_nlp
我在ApacheHive中遇到一段代码,如regexp_extract(input,'[0-9]*',0),有人可以向我解释这段代码的作用吗?谢谢 最佳答案 来自theHivemanualDDL,它返回使用模式提取的字符串。例如regexp_extract('foothebar','foo(.*?)(bar)',2)返回bar。index参数是捕获组,它是一个整数,可以取以下值:0:整个比赛,在我的例子中是foothebar1:第一组,在我的例子中是the2:第二组,在我的例子中是barn:第n组。如果n大于正则表达式中定义的实际组