草庐IT

menta-regex

全部标签

regex - Hive 的正则表达式与普通正则表达式不同吗?

我正在使用Hive分析如下所示的Web日志415503--[10/Jun/1998:00:48:00+0000]"GET/english/images/nav_sitemap_off.gifHTTP/1.1"200416我使用下面的正则表达式将其加载到工作正常的配置单元表([^]*)([^]*)([^]*)(-|\\[[^\\]]*\\])([^\"]*|\"[^\"]*\")(-|[0-9]*)(-|[0-9]*)但是如果我在https://www.regex101.com/中检查这个正则表达式,此正则表达式与我的字符串不匹配。如果我删除block中的一些反斜杠(-|\\[[^\\]

Regex SerDe 不支持 serialize() 方法错误

我的表结构如下。CREATETABLEdb.TEST(f1string,f2string,f3string)ROWFORMATSERDE'org.apache.hadoop.hive.serde2.RegexSerDe'WITHSERDEPROPERTIES('input.regex'='(.{2})(.{3})(.{4})')STOREDASINPUTFORMAT'org.apache.hadoop.mapred.TextInputFormat'OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputForma

regex - 配置单元查询 regexp_extract

我正在尝试从“[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.

regex - CASE WHEN - LIKE - Hadoop Hive 中的 REGEXP

我想使用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

regex - Hive:基于反斜杠的字符串拆分\

我有一个表,其中包含名为path的列,其中包含带反斜杠的值:\ModuleCalData\ComputerName\ModuleCalData\StartTime\ModuleCalData\EndTime\ModuleCalData\SummaryParameters\TextMeasured\Value\ModuleCalDataSummaryParameters\TextMeasured\Name我正在尝试分别拆分和访问每个元素。查询是selectsplit(path,'\\')[0]fromtest_data_tag;这个查询出错了Failedwithexceptionjava

regex - 使用 REGEXP_EXTRACT 没有给出预期的结果 - Hive

我正在尝试在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

regex - Pig Hadoop 匹配默认值?

每个RegExp都略有不同。当谈到Pig的匹配功能时,它:X=FILTERABY(f1matches'apache');==X=FILTERABY(f1matches'^apache$');或X=FILTERABY(f1matches'.*apache.*');?换句话说,.*是自动隐含在match中还是始终需要包含它? 最佳答案 Pig中的正则表达式格式是Java所支持的格式,如here所述.换句话说,没有任何暗示,如果你想要.*你必须专门将它添加到matches语句中,就像你在Java中做的一样Pattern.compile.

regex - 如何使用正则表达式在 Scala 中过滤掉字母数字字符串

我想从我的文件中过滤掉字母数字和数字单词。我正在研究Spark-Shell。这些是我的文件sparktest.txt的内容:Thisis1filenot54783.Wouldyoul1kethisfiletobeWritt3ntoHDFS?定义收集文件:scala>valmyLines=sc.textFile("sparktest.txt")将行存入一个长度大于2的单词数组:scala>valmyWords=myLines.flatMap(x=>x.split("\\W+")).filter(x=>x.length>2)定义要使用的正则表达式。我只想要匹配“[A-Za-z]+”的字符串

regex - Hive:使用正则表达式拆分字符串

我有一串由::分隔的单词。我如何使用HiveUDFregexp_extract()从字符串中提取单词? 最佳答案 regexp_extract('2foa1fa::12hjk','^(\\w.*)\\:{2}(\\w.*)$',1)asword1输出:2foa1faregexp_extract('2foa1fa::12hjk','^(\\w.*)\\:{2}(\\w.*)$',2)asword2输出:12hjk^锚定到字符串的开头\\w查找单词字符,.*表示任意次数\\:{2}在一行中查找两个:(这是您的::分隔符)$将字符串锚定到

regex - Hive with Regex SerDe 拆分行,每个单词成为一列

我正在尝试使用正则表达式SerDe从文本文件创建配置单元表。我开始很容易,只想将文本文档中的每个单词解析成一行。每行有一列,就是单词。我使用的正则表达式是([a-zA-z]+)这是我向hive发出的创建表命令的后半部分,行格式SERDE'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'WITHSERDEPROPERTIES("input.regex"="([a-zA-Z]+)","output.format.string"="%1$s")存储为文本文件;目前该表几乎全部为NULL。任何帮助都会很棒,谢谢! 最