我有一个具有以下格式的日志文件,我想从中提取ip、datetime和uri并加载到表中。64.242.88.10--[07/Mar/2004:17:09:01-0800]"GET/twiki/bin/search/Main/SearchResult?scope=text&search=Joris%20*Benschop[^A-Za-z]HTTP/1.1"2004284我可以通过将日志文件行作为单个字符串加载到表中并使用regexp_extract来做到这一点。创建表日志(行字符串);将数据本地inpath'.../mylog.log'加载到表日志中;选择regexp_extract(l
我正在尝试将以下数据存储在csv文件中到Hive表中,但未能成功Ann,78%,7,Beth,81%,5,Cathy,83%,2,数据存在于CSV文件中。我使用以下定义在Hive中创建了表:Hive>CREATETABLEtest1(NameString,PercString,RankString)ROWFORMATSERDE'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'WITHSERDEPROPERTIES("input.regex"="^(\w+)\,(\w+)\%\,(\w+)$","output.format.string"
我因过滤某些电影标题而陷入困境。我的问题是我有很多不同的电影标题,例如:Movies:Visitors:BreakingDawnPart1+2100BreakingDawn1+240BreakingDawn1+230DarkKnighttrilogy3D100DarkKnighttrilogy3D40DarkKnightTrilogyHDF30DarkKnightTrilogy-HDF100DarkKnighttrilogy_(blank)44etc.+10000所以有很多不同的电影标题,它们的名字并不唯一,并且在结尾处也有一些空格。我可以稍微解决这个问题,但是已经有很多标题,它们具有
我想从每个字段的开头和结尾删除双引号'"'。我正在尝试在pig身上应用正则表达式,但似乎不起作用输入:(main_170521230001.csv,"9","2017-05-2123:00:01.472636")(main_170521230001.csv,"91","2017-05-2123:00:01.472636")(main_170521230001.csv,"592","2017-05-2123:00:01.472636")pig脚本:raw=LOAD'/data/csv'usingPigStorage(',','-tagFile')as(fn:chararray,gid:c
我的数据中出现了非常奇怪的字符“\N”。我想从数据中删除或替换这个字符。以下是数据示例:GirlsShoes,1325051884\N,\NMen'sShirts,\N分隔符:逗号(,)我尝试了几种方法来替换/识别这个\N字符但没有用。 最佳答案 在Pig中,位置符号用美元符号($)表示并以零(0)开头;例如,$0、$1、$2。因此,在上述数据中,第一个字段由$0标识(例如“女鞋”),第二个字段由$1标识(例如1325051884)。以下脚本具有替换'\N'的逻辑:A=LOAD'/data.txt'USINGPigStorage('
我想将文件名的第一部分作为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
我有分隔符为“,|”的数据。我按如下方式创建了配置单元DDL:CREATETABLEplayer_profile(player_idBIGINTCOMMENT'PlayerProfileIdentifier',change_tsSTRINGCOMMENT'ChangeDatetime',child_birth_yearINTCOMMENT'ChildBirthYear',countrySTRINGCOMMENT'CountryCode',)ROWFORMATSERDE'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'WITHSERDEP
我使用以下查询来解析以点('.')分隔的数据。从配置单元控制台触发时,以下查询工作正常。我得到了这样的正确值:v=WijimLM4Khb5YUVrh7kl4bOWxYtIOtZwTRJ13977555161397755721139775573919但是当我使用hive-e""使用相同的查询时。它无法解析数据,解析列结果为空。nullnullnullnullnullnullnull查询:selectsplit(regexp_extract(cookie,'v=[^&\n\;\"]*',0),'\\.')[0],split(regexp_extract(cookie,'v=[^&\n\;\
我正在处理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
我正在尝试使用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