草庐IT

hadoop - 如何在 pig latin 中的 foreach 中使用过滤器运算符

我试图在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

hadoop - 在 Pig Latin 中生成计数值

我想找出年龄在19到60岁之间的用户数量。下面是示例查询loadtable=load'/user/userdetails.txt'usingPigStorage(',')AS(name:chararray,age:int);filteredvalues=filterloadtableby(age>19ANDage我收到以下错误“无效的标量投影:已分组:需要从关系中投影列才能将其用作标量” 最佳答案 您必须计算过滤后的值而不是分组。total=foreachgroupedgenerateCOUNT(filteredvalues);

hadoop - Pig Latin 像这样获取 SUM() 函数的输出?

我有一些数据,比如(名字,分数)一个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)},这不是在每次出现时都重复“

hadoop - 使用 Pig Latin 进行矩阵乘法

我正在尝试使用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

hadoop - Pig Latin 语法错误

我有以下数据: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

hadoop - PIG LATIN 脚本错误 1000

我创建了以下脚本,其中我尝试使用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

hadoop - 无法从 Pig Latin 的 Hadoop HDFS 加载文件

我在尝试从文件加载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

hadoop - 非常基本的 pig-latin 初学者代码

我是hadoop及其所有衍生产品的新手。我真的被大量可用的信息吓倒了。但我意识到的一件事是,要开始实现/使用hadoop或分布式代码,就必须从根本上改变他们思考问题的方式。我想知道是否有人可以在以下方面帮助我。所以,基本上(和其他人一样)我有一个原始数据。我想解析它并提取一些信息,然后运行一些算法并保存结果。假设我有一个文本文件“foo.txt”,其中的数据如下:id,$value,garbage_field,time_string\n1,200,grrrr,2012:12:2:13:00:002,12.22,jlfa,2012:12:4:15:00:001,2,ajf,2012:12

hadoop - 如何在 Pig Latin 中放置带引号字符串的参数?

我在PigLatin中遇到问题我有一段Pig代码,它将调用带引号的字符串data=LOAD'$data'AS(...);a=some_macro(data,'-9999ASKEY');宏是这样的:DEFINEsome_macro(data,string)RETURNSresults{grp=GROUP$dataALL;$result=FOREACHgrp{//...logicandlogicsGENERATE$string,//...otherfields...;}}对于字符串“-9999ASKEY”,Pig0.10好像不行,我试了“'-9999'ASKEY”,又不行。那么有人对此有解

hadoop - Pig Latin Partition By 子句

PigLatin中的“PartitionBy”子句有什么用?另请提供示例用法。是只允许自定义分区还是允许按列分区? 最佳答案 PigLatin中的“PartitionBy”子句有什么用?这允许您设置您选择的Partitioner。Pig使用默认的HashPartitioner,order和skewjoin除外。但有时您可能希望拥有自己的实现来提高性能。PartitionBy对此有帮助。另请提供示例用法。DATA=LOAD'/inputs/demo.txt'usingPigStorage('')as(no:int,name:chara