目前我正在处理大约19GB的日志数据,而且它们是分开的,因此输入文件的编号是145258(pigstat)。在WebUI中执行应用程序和启动mapreduce作业之间,准备工作浪费了大量时间(大约3小时?),然后mapreduce作业开始。而且mapreduce作业本身(通过Pig脚本)非常慢,大约需要一个小时。mapreduce逻辑没有那么复杂,就像一个groupby操作。我有3个数据节点和1个名称节点,1个辅助名称节点。如何优化配置以提高mapreduce性能? 最佳答案 您应该将pig.maxCombinedSplitSize
我刚学pig;我怎么能接受这个:((a,b),c,(x,y),z)得到这样的东西:(a,b,c,x,y,z,ABS(c-z)) 最佳答案 和你写的差不多。A=load'foobar'as(t:((a:double,b:double),c:double,(x:double,y:double,)z:double));B=foreachAgenerateflatten(t);C=foreachBgeneratea,b,c,x,y,z,ABS(c-z);我假设double作为值的数据类型。不能100%确定展平,这取决于您的确切模式,这可能会
我试图在foreach中使用FILTER运算符来过滤我的一些数据,但它抛出了一个错误。我正在使用以下查询:ctm_pm_v1_stg=LOAD'/datalake/uhc/ei/pi_ara/hive/warehouse/ctm_pm.db/ctm_pm_t1'USINGPigStorage('\u0001')AS(lob:chararray,day_phnno:chararray,eve_phnno:chararray,mbr_name:chararray,hic_no:chararray,contract_no:chararray,ctm_risk_category:chararr
包的结构:emp=LOAD'...../emp.csv'usingPigStorage(',')AS(ename:chararray,id:int,job:chararray,sal:double)这个包包含员工的详细信息。我想根据工作拆分数据。Bag=splitempintomngrifjob=='MANAGER';这不工作并给予Error1200.如果我再添加一个条件,forex.-sal10kifsal,那么它正在工作。但为什么不只在一个chararray上?我是hadooppig的新手。了解一些基础知识。请帮忙。 最佳答案
我想找出年龄在19到60岁之间的用户数量。下面是示例查询loadtable=load'/user/userdetails.txt'usingPigStorage(',')AS(name:chararray,age:int);filteredvalues=filterloadtableby(age>19ANDage我收到以下错误“无效的标量投影:已分组:需要从关系中投影列才能将其用作标量” 最佳答案 您必须计算过滤后的值而不是分组。total=foreachgroupedgenerateCOUNT(filteredvalues);
我有一些数据,比如(名字,分数)一个10乙25C15一个5一个36乙98C78C78乙12data=LOAD'demo.txt'usingPigStorage(',')as(name:chararray,score:int);groupScore=GROUPdatabyscore;totalscore=FOREACHgroupScoreGeneratedata.name,SUM(data.score);当我使用SUM()函数时,输出结果如下{(A)(A)(A),(51)}{(B)(B)(B),(135)}我想知道是否有任何我可以展示的东西{(A),(51)},这不是在每次出现时都重复“
我正在尝试使用Pig对一个简单的3X3矩阵执行矩阵乘法。我既不能根据行执行转置也不能分组。有人可以帮我解决这个问题吗例子矩阵A:222222222矩阵B:111111111提前致谢! 最佳答案 假设您的矩阵存储为“行、列、值”,您可以检查this此外,如果您有相同的txt文件,您可以通过以下方式加载它:E=LOAD'matrix1.txt'USINGPigStorage(',')AS(row:chararray,col:chararray,val:float);或E=LOAD'M-matrix-small.txt'USINGPigS
我有以下数据:AGE,EDU,SEX,SALARY67,10th,Male,50K35,Assoc-voc,Male,50K42,Bachelors,Male,>50K30,Bachelors,Male,>50K23,Bachelors,Female,======================================================我的PigLatin脚本是:sensitive=LOAD'/mdsba'usingPigStorage(',')as(AGE,EDU,SEX,SALARY);--FilteredthedatabythecityData_filter
我创建了以下脚本,其中我尝试使用piggybankUDF:register/home/hduser/pig/contrib/piggybank/java/piggybank.jar;divs=load'NYSE_dividends.txt'usingPigStorage(',')as(exchange:chararray,symbol:chararray,date:chararray,dividends:float);backwards=foreachdivsgenerateorg.apache.pig.piggybank.evaluation.string.Reverse(symbo
我在尝试从文件加载csv时遇到问题。我不断收到以下错误:Input(s):Failedtoreaddatafrom"hdfs://localhost:9000/user/der/1987.csv"Output(s):Failedtoproduceresultin"hdfs://localhost:9000/user/der/totalmiles3"查看我安装在本地计算机上的Hadoophdfs,我看到了该文件。事实上,该文件位于多个位置,例如/、/user/等。hdfsdfs-ls/user/derFound1items-rw-r--r--1dersupergroup127162942