草庐IT

hadoop - 如何删除数据低于 pig 平均水平的元组

我有一个包含3个字段(id、名称和post_num)的包,我想删除其post_num小于每个名称的平均post_num的元组。例如,我有如下4个数据:1,Dav,52,大卫,63,大卫,44,艾德,1然后第三个数据应该被丢弃,因为Dav的平均post_num是5。我可以不用UDF吗? 最佳答案 --##Supposeyouhave--1000,SMITH,123--1001,JOHN,452--1002,TWAIN,125--1003,HARDY,124--1004,CHILD,785--1005,CHILD,639--1006,D

hadoop - 在 Hadoop Pig 中加入和分组

经常看到有人在使用groupby和join来解决同样的问题,假设我有一个学生表和分数表,想找到与类(class)分数相关的学生姓名。看来我们可以通过使用join或使用groupby来解决这个问题?想知道这两种解决方案的优缺点。发布数据结构和代码如下。谢谢。tablestudents:studentID,studentname,studentemailaddressscoretable:studentID,courseID,scorestudent_scores=groupstudentsby(studentId)inner,scoresby(studentId);student_sco

Hadoop Pig fs 测试命令

想知道这行是什么意思?四处搜索但找不到此命令的引用,Pig.fs("test-e"+pathToCheck)==0:提前致谢,林 最佳答案 使用命令行工具并运行hadoopfs-help得到:-test-[defsz]:Answervariousquestionsabout,withresultviaexitstatus.-dreturn0ifisadirectory.-ereturn0ifexists.-freturn0ifisafile.-sreturn0iffileisgreaterthanzerobytesinsize.-z

hadoop - 如何在 Pig 相同模式中加入 2 个数据集

您好,我是Pig编程的新手,遇到了一个我很难解决的问题:我有2个数据集A:(accountId:chararray,title:chararray,genre:chararray)("A123","HarryPotter","Action/Adventure")("A123","SherlockHolmes","Mystery")("B456","JamesBond","Action")("B456","Hamlet","Drama")B:(accountId:chararray,title:chararray,genre:chararray)("B456","PercyJackson

hadoop - Hadoop Pig 中的点击率计算

需要计算点击率(点击次数超过展示次数,在国家/地区级别),我列出了表结构(印象表和点击表),以及我在HadoopPig中的代码。我的问题是下面的实现是否最有效,还有更有效的解决方案吗?谢谢。表格印象:impressionID、时间戳、countryID点击表格:impressionID,时间戳joined_feed=joinimpressionbyimpressionID,clickbyimpressionID;joined_feed=foreachjoined_feedgenerateimpression::countryID,click::impressionIDisnull?0:

Hadoop Pig Max - 输出不正确

我在使用一个看似简单的PIGMAX函数时遇到了一些问题,但它对我不起作用。我做了一个分组,计算了总和。C3=FOREACHC2GENERATEgroup,SUM(C1.figures);我收到以下输出(Peter,345)(Paul,459)(Andi,500)现在我想得到最大值,这样输出就是(Andi,500)我正在尝试下面的代码C4=FOREACHC3GENERATE$0as(id:chararray),$1as(id2:long);C5=GROUPC4ALL;C6=FOREACHC5GENERATEC4.id,MAX(C4.id2);但是作为输出我得到了({Peter,Paul,

hadoop - pig - 不加载数据

输入数据:(10,1,{(2,3),(4,6)})(10,3,{(2,3),(4,6)})(10,6,{(2,3),(4,6),(5,7)})pig查询:x=load'/data.txt'as(d1:int,d2:int,B:bag{T:tuple(t1:int,t2:int)});但我得到的输出如下:(,,)(,,)(,,)(,,)我不确定我哪里出错了。 最佳答案 您的数据用大括号括起来,这意味着它是一个元组。您必须定义一个外部结构以将数据视为元组,然后放置您的字段。这是你需要的:x=load'/data.txt'as(a:tup

csv - Apache pig 按功能分组没有给出预期的输出

我有csv格式的数据,如下所示。数据格式如下"first_name","last_name","company_name","address","city","county","postal","phone1","phone2","email","web"User.csv下命名的示例数据。该文件包含以下数据。"Aleshia","Tomkiewicz","AlanDRosenburgCpaPc","14,TaylorSt","St.StephensWard","Kent","CT27PP","01835-703597","01944-369967","atomkiewicz@hotma

hadoop - 使用 '-tagFile' 选项的项目文件名字段,使用 PigStorage '-tagFile' 加载,Pig 0.14

AmazonEMR-4.5、Hadoop2.7.2、Pig0.14我想在加载后使用-tagFile选项将文件名字段和选定字段投影到新关系。结果似乎没有意义。示例:tagfile-test.txt(制表符分隔)AAA1232016BBB4562016CCC7892016负载转储test=LOAD'tagfile-test.txt'USINGPigStorage('\t','-tagFile')AS(f0,f1,f2,f3);DUMPtest;(tagfile-test.txt,AAA,123,2016)(tagfile-test.txt,BBB,456,2016)(tagfile-tes

hadoop - 适用于 Hadoop 的 Google Cloud 连接器不适用于 Pig

我将Hadoop与HDFS2.7.1.2.4和Pig0.15.0.2.4(HortonworksHDP2.4)一起使用并尝试使用GoogleCloudStorageConnectorforSparkandHadoop(GitHub上的大数据互操作)。当我尝试时,它可以正常工作,比如说,hadoopfs-lsgs://bucket-name但是当我在Pig中尝试以下操作时(在mapreduce模式下):data=LOAD'gs://softline/o365.avro'USINGAvroStorage();data=STOREdataINTO'gs://softline/o366.avr