草庐IT

DISALLOWED_PIG_OPTIONS

全部标签

hadoop - 如何将常量值附加到 pig 的关系

我想保留关系的元组计数来做一些计算,什么是最有效的解决方案。目前我是这样处理的:G4=GROUPDALL;E=FOREACHG4{total=COUNT(D);GENERATEFLATTEN(D),totalastotal;};上面的pig代码片段转换为只有一个reduce的MapReduce作业,速度非常慢。 最佳答案 这需要很长时间,因为您必须将所有数据发送到reducer,然后再将其全部写回磁盘。这是由于FLATTEN.COUNT实际上会非常有效,因为Pig使用组合器来处理中间结果。所以你可以只计算计数,然后高效地计算JOIN

hadoop - 在 PIG 中添加重复列

我有这样一些值(value)观,tEn1teN8Ten1thrEE2tHRee1如何添加第2列并为第1列中的所有不区分大小写的重复项生成此列?ten10three3我试过使用GROUP,tmp=GROUPdataBY(column1);result=FOREACHtmpGENERATEgroup,SUM(data.column2)ascount但不知何故,它似​​乎没有给出正确的结果。我该怎么办? 最佳答案 字符串区分大小写。您需要先将它们全部设为小写,以便它们匹配lowerdata=FOREACHdataGENERATELOWER

hadoop - "Doesn' t 存在于 RM"Pig 后端错误

我在从http://www.cloudera.com/content/cloudera-content/cloudera-docs/DemoVMs/Cloudera-QuickStart-VM/cloudera_quickstart_vm.html下载的ClouderaQuickStartVM中遇到错误.我正在尝试TomWhite的Hadoop:权威指南中的玩具示例,名为map_temp.pig,它“按年份查找最高温度”。我创建了一个名为temps.txt的文件,其中每一行都包含(年份、温度、质量)条目:19500119502211950-11119491111使用书中的示例代码,我在

hadoop - 让 Pig 0.12 与 hadoop 2.2.0 一起工作

我在远程集群上运行了hadoop2.2.0,在另一台机器上运行了Pig0.12。我需要让Pig与hadoop进行通信,第一步似乎是使用hadoop2.2.0构建Pig0.12。这是我所做的:在ivy/libraries.properties中将hadoop-core.version、hadoop-common.version、hadoop-hdfs.version、hadoop-mapreduce.version更改为2.2.0。在ivy.xml中将hadoop-core依赖替换为hadoop-client依赖。使用“antcleanjar-all-Dhadoopversion=23”

hadoop - 在 Pig 中执行 JOIN 和 FILTER 后出现 "Invalid scalar projection"错误

我正在使用Pig0.12.1.为什么我在通过LEFTOUTER执行JOIN之后FILTER时会收到错误消息?这里是一个修改过的例子:A=LOAD'$file1'USINGPigStorage('\t')AS(idA:int,manufacturer:chararray);B=LOAD'$file2'USINGPigStorage('\t')AS(idB:int,price:float);C=JOINABYidALEFTOUTER,BBYidB;D=FILTERCBYprice>2.0;为什么我在D上出现“无效标量投影”错误:ERRORpig.PigServer:exceptiondur

hadoop - Pig - Order by - 不同的 reducer ?

我是pig的新手。我正在尝试进行合并连接。满足以下要求:Datamustbesortedonjoinkeysinascending(ASC)orderonbothsides.示例文件:4,TheObjectofBeauty,1991,2.8,61501,TheNightmareBeforeChristmas,1993,3.9,45682,TheMummy,1932,3.5,43883,OrphansoftheStorm,1921,3.2,90623,OrphansoftheStorm,1921,3.2,90624,TheObjectofBeauty,1991,2.8,61505,Nig

java - pig : Hadoop jobs Fail

我有一个从csv文件查询数据的pig脚本。该脚本已在本地使用小型和大型.csv文件进行了测试。在小集群中:它从处理脚本开始,并在完成40%的调用后失败错误只是,无法从“文件路径”读取数据我的推断是,脚本可以读取文件,但是连接断开,消息丢失但我只收到上述错误。 最佳答案 一般问题的答案是更改配置文件中的错误级别,将这两行添加到mapred-site.xmllog4j.logger.org.apache.hadoop=error,Alog4j.logger.org.apache.pig=error,A在我的例子中,它是一个OutOfMe

hadoop - 我想在 pig : dash, 逗号、散列、空格和冒号中使用以下分隔符来标记字符串

如何使用STRSPLIT、TOKENIZER或任何其他方法执行此操作? 最佳答案 您可以使用STRSPLIT和regex来解决这个问题。我不确定您的输入是否包含单个或多个定界符组合(破折号、逗号、连字符、空格和散列),但以下解决方案对两者都适用。输入a#bc-d,efe,g#h:i1,2,3,4,5l#y#z#h#nABCDEPigScript:A=LOAD'input'AS(line:chararray);B=FOREACHAGENERATEFLATTEN(STRSPLIT(line,'[-,:\\s#]',5));DUMPB;输

hadoop - pig : How to exclude first n lines while Loading

有没有办法在pig上加载一些数据时排除文件的前n行?我有一个要加载的csv文件,但我必须忽略前3行。 最佳答案 一种选择是您可以这样尝试。A=LOAD'input';B=RANKA;C=FILTERBBY$0>3;D=FOREACHCGENERATE$1..;DUMPD;如果您在加载stmt中定义了架构,则使用定义的名称代替位置符号($0、$1等)。它将更具可读性。 关于hadoop-pig:HowtoexcludefirstnlineswhileLoading,我们在StackOver

hadoop - 如何使用 PIG 将数据从本地系统加载到 hdfs

我有一个csv文件sample.csv并且位于\home\hadoop\Desktop\script\sample.csv中。我尝试使用加载PIGmovies=load'/home/hadoop/Desktop/script/sample.csv'usingPigStorage(',')as(id,name,year,rating,duration);但是这个PIG语句给出了一个错误,但是当给出语句作为dumpmovies;时,它抛出错误并显示输入和输出失败。请建议我如何使用pig语句加载数据。 最佳答案 如果你的输入文件在本地,那