我正在尝试在ClouderaHue界面中运行一个配置单元查询,它可以很好地处理几百条记录。当我在更大的数据集上运行它时,它失败了。我试着在互联网上搜索它,但看起来有很多类似的错误,但不是我正在寻找的确切解决方案。我在我的配置单元查询中使用了redexp_replace,我认为这不会导致任何异常(我的印象是它可以轻松处理字符串和NULL类型)我得到的错误是java.util.regex.PatternSyntaxException:Unmatchedclosing')'nearindex12更新:这是导致问题的记录:columnA:ReadData(或ListDirectory)B列:列
我需要从配置单元中的一个字段中删除美元符号和大括号。示例数据:$210.53$210.53($390.53)($210.53)问题是有些记录有大括号,有些则没有。以下是我想出的语法:selectREGEXP_REPLACE(amount,'\(\$|\)','')asamountfromtablewhereid=1234;输出:$210.53$210.53390.53210.53此语法不会从没有大括号的记录中删除美元符号。有人可以指导我吗? 最佳答案 如果您想从字段中删除a)美元符号和b)括号,您需要编写涵盖这两种情况的正则表达式。
我需要使用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