使用HadoopPig。并且想在别名上使用describe来查看其模式,我想在Pig宏中使用describe。描述问题附近有意想不到的字符。但是当我在外面移动描述时,它总是很好。想知道在Pig宏中使用describe有什么限制吗?谢谢。问候,林 最佳答案 这不是预期的功能,但它是宏实现方式的副作用。Pig实际上有几个解析器。一个解析PigLatin,另一个由shellGrunt使用。Grunt不知道PigLatin,但它知道将其传递给PigLatin解析器。PigLatin对Grunt一无所知。Describe、dump、expla
我有一个名为student的别名,数据结构是这样的(命令describe的结果),studentIDInt:int,courses:bag{(courseId:int,testID:int,score:int)}然后我想按分数筛选学生,但是遇到了这样的Pig解析错误,如果有人有什么好主意,那就太好了。谢谢。对错误信息中报告的附加元组感到困惑。student=filterstudentbycourses.score>3;incompatibletypesinGreaterThanOperatorlefthandside:bag:tuple(score:int)righthandscore
我使用以下命令加载了一个包含大约6000行数据的文件A=load'/home/hduser/hdfsdrive/piginput/data/airlines.dat'usingPigStorage(',')as(Airline_ID:int,Name:chararray,Alias:chararray,IATA:chararray,ICAO:chararray,Callsign:chararray,Country:chararray,Active:chararray);B=foreachairlinegenerateCountry,Airline_ID;C=groupBbyCountr
我的输入文件名为words.txt,如下所示。此文件的每条记录中也没有空格。HiHiHow我正在将这个文件加载到Pig中words=LOAD'/user/inputs/words.txt'USINGPigStorage()AS(line:chararray);words_each=FOREACHwordsGENERATEREPLACE(line,'','|');dumpwords_each;我得到输出为|H|i||H|i||H|o|w|但我想知道REPLACE函数究竟如何处理''这是我在REPLACE函数中的第二个参数。我的文件里没有空白,那我怎么会得到|在我的输出中。
我有一个看起来像的数据集grcol1col2A2'haha'A4'haha'A3'haha'B5'hoho'B1'hoho'如您所见,在每个组gr中都有一个数值变量col1和一些字符串变量col2每个组内相同。如何在PIG中得到如下伪代码?foreachgroupgt:generatethemeanofcol1andgetthefirstoccurrenceofcol2所以输出看起来像grmeannameA3'haha'B3'hoho'谢谢! 最佳答案 GROUPBYgr,col2并得到col1的AVG。假设字段以制表符分隔。Pig
我必须循环列表中的30多个变量[var1,var2,...,var30]对于每个变量,我使用一些PIGgroupby语句,例如grouped=GROUPdatabyvar1;data_var1=FOREACHgrouped{GENERATEgroupasmygroup,COUNT(data)ascount;};有没有办法遍历变量列表,或者我被迫在我的代码中手动重复上面的代码30次?谢谢! 最佳答案 我认为您正在寻找的是pigmacro为您的30个变量创建一个关系,并通过foreach对它们进行迭代,并调用一个获取2个参数的宏:您的数
packagecom.mirox.weblog;//errorhere-Thetypeorg.apache.commons.logging.Logcannotberesolved.Itisindirectlyreferencedfromrequired.classfilesimportjava.io.IOException;importjava.text.SimpleDateFormat;importorg.apache.pig.EvalFunc;importorg.apache.pig.data.Tuple;/*Toconvertdatetohiveusableformat*/pub
如果我在Pig中有以下数据结构(关系)并且我想将它传递给JavaUDF,想知道输入参数的相关Java数据类型应该是什么?(学生关系是一个包,模式是ID为int,一个元组包含一个兴趣包和一个类(class)包)。student:{id:int,(interest:{(value:chararray)},classes:{(value:chararray)})}提前致谢,林 最佳答案 我觉得可以按照下图来做。publicclassBagUdfextendsEvalFunc{publicexec(Tupleinput)throwsIOEx
我有以下PIG脚本,它花费大量时间来处理342个文件,分割大小为256MB(仅测试)。任何人都可以提出改进建议:SPLITfilteredalnumcdrsintosplitalnumcdrs_1IF((SUBSTRING(aparty,2,3)=='-')),splitalnumcdrs_2OTHERWISE;tmpsplitalnumcdrs_1=FOREACHsplitalnumcdrs_1GENERATEaparty,srcgt,destgt,SUBSTRING(aparty,0,2)assplitaparty,bparty,smscgt,status,prepost;grou
我正在尝试解决以下问题,请提出建议我有两个表想要删除表2中存在的唯一匹配记录。注意:即使表中有可用的公共(public)键,如果表2有1条记录,那么它也应该只删除包含相同键的表1的1条记录,输入:Table1:1,Sam,50001,Sam,50001,Sam,50002,Boo,3000Table2:1,Sam,50002,Boo,3000OUTPUT:1,Sam,50001,Sam,5000 最佳答案 您需要获取两个关系之间的SetDifference。来源:Seehere.您必须从here下载支持这些功能的jar文件。.jar