草庐IT

regex_match

全部标签

regex - 文件名的一部分作为 Hive 表中的列

我想将文件名的第一部分作为Hive表中的一列Myfilenameis:20151102114450.46400_Always_1446482638967.xml我在MicrosoftAzure的Hive中使用正则表达式编写了一个查询(查询下方)以获取它的第一部分,即20151102114450但是当我运行查询时,我得到的输出为20151102164358selectCAST(regexp_replace(regexp_replace(regexp_replace(CAST(CAST(regexp_replace(split(INPUT__FILE__NAME,'[_]')[2],'.x

Hadoop distcp 从 S3 复制 : Signature does not match error

我正在尝试将文件从S3复制到我在AmazonEC2上的hadoopHDFS。我使用的命令是:bin/hadoopdistcps3://:@/f1hdfs://user/root/f1是文件名我也将它更改为s3n以查看它是否有效,但它没有。我将secret访问key中的正斜杠替换为%2F我得到的错误是:SignatureDoesNotMatchorg.jets3t.service.S3ServiceException:S3GETfailedfor'/%2Ff1'Therequestsignaturewecalculateddoesnotmatchthesignatureyouprovid

regex - 使用 RegexSerDe 在 Hive 中创建 DDL 时出错

我有分隔符为“,|”的数据。我按如下方式创建了配置单元DDL:CREATETABLEplayer_profile(player_idBIGINTCOMMENT'PlayerProfileIdentifier',change_tsSTRINGCOMMENT'ChangeDatetime',child_birth_yearINTCOMMENT'ChildBirthYear',countrySTRINGCOMMENT'CountryCode',)ROWFORMATSERDE'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'WITHSERDEP

regex - 使用点 '.' 的拆分无法使用 hive -e ""即使在放置双斜线之后

我使用以下查询来解析以点('.')分隔的数据。从配置单元控制台触发时,以下查询工作正常。我得到了这样的正确值:v=WijimLM4Khb5YUVrh7kl4bOWxYtIOtZwTRJ13977555161397755721139775573919但是当我使用hive-e""使用相同的查询时。它无法解析数据,解析列结果为空。nullnullnullnullnullnullnull查询:selectsplit(regexp_extract(cookie,'v=[^&\n\;\"]*',0),'\\.')[0],split(regexp_extract(cookie,'v=[^&\n\;\

hadoop - EMR : how to include semicolon in regex argument of EXTRACT function 上的 pig

我正在处理Pig中的一些数据,其中包括感兴趣的字符串,可以选择用分号分隔并以随机顺序排列,例如test=12345;foo=bartest=12345foo=bar;test=12345以下代码应提取测试“键”的字符串值:blah=FOREACHdataGENERATEFLATTEN(EXTRACT(str_of_interest,'test=(\\S+);?'))AS(test:chararray);但是,在运行代码时,我遇到了以下错误:mismatchedcharacter''expecting'''2013-04-1604:46:05,245[main]ERRORorg.apac

regex - 使用正则表达式匹配日志文件行时的可选字段

我正在尝试使用RegexSerDe通过正则表达式解析网络日志.它通过将每个正则表达式组与表中的列匹配来工作,如果正则表达式组为空,它会为该列分配一个空值。我在匹配缺少字段的日志行时遇到问题。此日志中有两种行:2016-10-23T23:59:59Zcache-iad2134fastly[502801]:52.55.94.131"-""-"Sun,23Oct201623:59:59GMTGET/apps/events/2016/10/11/3062653/?REC_ID=3062653&id=02002016-10-23T23:59:59Zcache-dfw1835fastly[5028

regex - Hive:在字符的第一次出现和最后一次出现之间提取字符串

我有一个Hive表列,其中的字符串由“-”分隔,我需要提取第一次和最后一次出现的“-”之间的字符串+-----------------+|col1|+-----------------+|abc-123-na-00-sf||123-abc-01-sd||123-abcd-sd|+-----------------+Requiredoutput:+-----------+|col1|+-----------+|123-na-00||abc-01||abcd|+-----------+请建议一些正则表达式来提取所需的输出。谢谢 最佳答案

regex - 如何在输入文件中找到导致错误的行 - PigLatin?

我有一个文件,每个文件有250k行。我正在尝试加载它们:apache_log=LOAD'apache_log/httpd-www02-access.log.2014-03-17-16*'USINGTextLoaderAS(line:chararray);apache_row=FOREACHapache_logGENERATEFLATTEN(REGEX_EXTRACT_ALL(line,'^".*?([\\d{1,3}.\\d{1,3}.\\d{1,3}.\\d{1,3}]*)"\\[(\\d{2}\\/\\w+\\/\\d{4}:\\d{2}:\\d{2}:\\d{2}\\+\\d{4

java - Apache Pig - 具有多个匹配条件的 MATCHES

我正在尝试采用逻辑匹配标准,例如:(("Foo"OR"FooBar"ORFooBar)AND("test"OR"testA"OR"TestB"))ORTestZ并将其应用为与pig中的文件匹配result=filterinputfieldsbytextmatches(someregexexpressionhere));问题是我不知道如何将上面的逻辑表达式转换为matches方法的正则表达式。我摆弄过各种各样的东西,我最接近的是这样的:((?=.*?\bFoo\b|\bFooBar\b))(?=.*?\bTestZ\b)有什么想法吗?如果可能,我还需要尝试以编程方式进行此转换。一些例子:

php - Paypal API : The totals of the cart item amounts do not match order amounts

关于这个错误的帖子有很多,但都不适用于我。我真的不明白为什么金额不匹配。我有匹配AMT0*QTY0的ITEMAMT。而AMT匹配ITEMAMT+SHIPPINGAMT。我一遍又一遍地检查文档,它确实应该以这种方式工作。当我完全移除它的运输时它会起作用......结帐网址中的AMT也是73.9。我真的希望有人熟悉这个非常令人困惑的错误,并且知道我做错了什么......提前致谢Array([TIMESTAMP]=>2013-01-24T22:56:09Z[CORRELATIONID]=>[ACK]=>Failure[VERSION]=>62.0[BUILD]=>4181146[L_ERRO