草庐IT

PIG_FEATURE

全部标签

pig 中的正则表达式匹配

使用apachepig和文本hahahah.mybrotherjustdidntdoanythingwrong.Hecheatedonatest?noway!我正在尝试匹配“我兄弟没有做错任何事。”理想情况下,我想匹配以“mybrotherjust”开头并以标点符号(句末)或EOL结尾的任何内容。查看pig文档,然后点击指向java.util.regex.Pattern的链接,我想我应该可以使用extrctd=FOREACHfltrGENERATEFLATTEN(EXTRACT(txt,'(mybrotherjust.*\\p{Punct})'))as(txt:chararray);但

hadoop - 如何让 Pig 使用 lzo 文件?

因此,我已经在网上看到了几个关于此的教程,但每个教程似乎都说要做一些不同的事情。此外,它们中的每一个似乎都没有具体说明您是要让事情在远程集群上运行,还是要在本地与远程集群交互,等等......就是说,我的目标只是让我的本地计算机(一台mac)让pig处理存在于Hadoop集群上的lzo压缩文件,该集群已经设置为可以处理lzo文件。我已经在本地安装了Hadoop,可以使用hadoopfs-[command]从集群中获取文件。我也已经在本地安装了pig,并在我运行脚本或通过grunt运行东西时与hadoop集群通信。我可以很好地加载和播放非lzo文件。我的问题只是找出一种加载lzo文件的方

hadoop - Pig 不断尝试连接到作业历史服务器(但失败)

我正在运行无法连接到Hadoop作业历史服务器的Pig作业。任务(通常是任何带有GROUPBY的任务)运行一段时间,然后以如下消息开始:2015-04-2119:05:22,825[main]INFOorg.apache.hadoop.mapred.ClientServiceDelegate-Applicationstateiscompleted.FinalApplicationStatus=SUCCEEDED.Redirectingtojobhistoryserver2015-04-2119:05:26,721[main]INFOorg.apache.hadoop.ipc.Clien

hadoop - 在 EvalFunc pig UDF 中抛出异常是跳过那一行,还是完全停止?

我有一个用Java编写的用户定义函数(UDF),用于解析日志文件中的行并将信息返回给pig,因此它可以完成所有处理。看起来像这样:publicabstractclassFooextendsEvalFunc{publicFoo(){super();}publicTupleexec(Tupleinput)throwsIOException{try{//dostuffwithinput}catch(Exceptione){throwWrappedIOException.wrap("Errorwithline",e);}}}我的问题是:如果它抛出IOException,它会完全停止,还是会为其

Hadoop PIG Max of Tuple

如何在Pig中找到元组的MAX?我的代码是这样的:A,20B,10C,40D,5data=LOAD'myData.txt'USINGPigStorage(',')ASkey,value;all=GROUPdataALL;maxKey=FOREACHallGENERATEMAX(data.value);DUMPmaxKey;返回40,但我想要完整的键值对:C,40。有什么想法吗? 最佳答案 这适用于Pig0.10.0:data=LOAD'myData.txt'USINGPigStorage(',')AS(key,value:long)

Hadoop Pig 计数

我正在学习如何使用HadoopPig。如果我有这样的输入文件:a,b,c,trues,c,v,falsea,s,b,true...最后一个字段是我需要计算的...所以我想知道这个文件中有多少“真”和“假”。我尝试:records=LOAD'test/input.csv'USINGPigStorage(',');boolean=foreachrecordsgenerate$3;groups=groupbooleanall;现在我卡住了。我想使用:count=foreachgroupsgeneratecount('true');"要获取“true”的数量,但我总是得到错误:2013-08-

csv - Hadoop Pig - 删除 csv header

我的csv文件在第一行有标题。将它们加载到pig中会对任何后续函数(如SUM)造成困惑。从今天开始,我首先对加载的数据应用过滤器以删除包含标题的行:affaires=load'affaires.csv'usingPigStorage(',')as(NU_AFFA:chararray,date:chararray);affaires=filteraffairesbydatematches'../../..';我认为它作为一种方法有点愚蠢,我想知道是否有一种方法可以告诉pig不要加载csv的第一行,例如加载函数的“as_header”bool参数。我没有在文档上看到它。最佳做法是什么?你通

hadoop - PIG local和mapreduce模式的区别

在本地运行PIG脚本和在mapreduce上运行的实际区别是什么?我了解mapreduce模式是在安装了hdfs的集群上运行它。这是否意味着本地模式不需要HDFS,因此甚至不会触发mapreduce作业?有什么区别,你什么时候和另一个? 最佳答案 本地模式将构建一个模拟的mapreduce作业,该作业从磁盘上的本地文件运行。理论上相当于MapReduce,但它不是“真正的”mr工作。从用户的角度来看,您不应该能够分辨出差异。本地模式非常适合开发。 关于hadoop-PIGlocal和ma

hadoop - PIG 中整组记录的最大值/最小值

我有一组要从文件加载的记录,我需要做的第一件事是获取列的最大值和最小值。在SQL中,我会使用这样的子查询来执行此操作:selectc.state,c.population,(selectmax(c.population)fromstate_infoc)asmax_pop,(selectmin(c.population)fromstate_infoc)asmin_popfromstate_infoc我想在PIG中也一定有一种简单的方法可以做到这一点,但我找不到它。它具有MAX和MIN功能,但是当我尝试执行以下操作时它不起作用:records=LOAD'/Users/Winter/Scho

hadoop - 用 pig 过滤空值

这看起来是个愚蠢的问题,但我找不到从我的行中过滤空值的方法。这是我转储对象地理信息时的结果:DUMPgeoinfo;([longitude#70.95853,latitude#30.9773])([longitude#-9.37944507,latitude#38.91780853])(null)(null)(null)([longitude#-92.64416,latitude#16.73326])(null)(null)([longitude#-9.15199849,latitude#38.71179122])([longitude#-9.15210796,latitude#38.