草庐IT

hadoop - MAX(Count) 函数 apache pig latin

这个下面的程序我正尝试在ApachePig中按原样和非结构化数据执行它i)我有包含街道名称、城市和州的数据集:ii)按州分组iii)我在数据集中获取COUNT(*)个状态现在我的o/p将类似于statename,count===>该状态在数据集中可用的时间程序:realestate=LOADDATAusingpigstorage(',')as(street:string,citystring,statestring);A=GROUPrealestatebystate;B=FOREACHAGENERATEgroup,count(*)O/P会像CA,14washington,20现在我需要

hadoop - 与 apache pig latin 中的 GROUP 相对?

假设我在apachepig中有以下输入:(123,((1,2),(3,4)))(666,((8,9),(10,11),(3,4)))我想将这两行转换为以下7行:(123,(1,2))(123,(3,4))(666,(8,9))(666,(10,11))(666,(3,4))即这有点像“做与GROUP相反的事情”。这在pig拉丁语中可能吗? 最佳答案 看看FLATTEN.它可以满足您可能需要的功能。但是,使用上面的符号,元组列表看起来像是一个元组。这应该是一个包才能正常工作。代替:(123,((1,2),(3,4)))(666,((8

hadoop - 如何在 pig latin 的日期时间范围内创建丢失的记录

我有表单的输入记录2013-07-09T19:17Z,f1,f22013-07-09T03:17Z,f1,f22013-07-09T21:17Z,f1,f22013-07-09T16:17Z,f1,f22013-07-09T16:14Z,f1,f22013-07-09T16:16Z,f1,f22013-07-09T01:17Z,f1,f22013-07-09T16:18Z,f1,f2这些代表时间戳和事件。我手写了这些,但实际数据应该根据时间排序。我想生成一组记录,这些记录将输入到需要连续时间序列的绘图函数中。我想填写缺失值,即如果有“2013-07-09T19:17Z”和“2013-0

hadoop - Pig Latin 中不区分大小写的搜索

这里是PigLatin的初学者。我正在尝试计算输入文件中多个字符串的出现次数。现在搜索必须不区分大小写。我知道pig中有一个LOWER内置函数,但我该如何使用它呢?例如(输入文件):28-Oct-13,7:00PM,Viraj,Newtohadoop!Eagertolearn.31-Dec-14,3:00PM,‏Vanguard,Designers,Developers,Doers,don'tmissthisupcomingSanFranciscoHadoop我需要像hadoop,dec,learn,python这样的字符串数hadoop2dec1learn1python0如何使用pi

hadoop - PIG Latin 中的 JOIN 条件

SQLSELECTm.x,m.y,n.a,n.bfrommydata1m,mydata2nWHEREm.x=n.aANDm.y>=n.ypigA=LOAD'mydata1'AS(x:int,y:datetime);B=LOAD'mydata2'AS(a:int,b:datetime);我现在需要使用上述sql条件连接两个表。我将如何使用连接条件在PIG中实现上述逻辑? 最佳答案 试试这个:A=LOAD'mydata1'AS(x:int,y:datetime);B=LOAD'mydata2'AS(a:int,b:datetime);C

hadoop - 在 Apache Pig Latin 中转置数据

我需要“转置”如下所示的数据:idCity111Chicago111NewYork111LA222Paris222London222Tokyo到:111ChicagoNewYorkLA222ParisLondonTokyo每个id都有三个条目,因此生成的关系将有4个字段。我试图避免使用UDF。有任何想法吗? 最佳答案 这不是基本分组吗?B=GROUPABYid检查http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#GROUP 关于ha

hadoop - 在 Pig Latin 中将袋子变成数组

我正在对一些数据集进行一些转换,需要发布为一种看起来很正常的格式。当我运行describe时,当前我的最终设置看起来像这样:{memberId:long,companyIds:{(subsidiary:long)}}我需要它看起来像这样:{memberId:long,companyIds:[long]}companyIds是long类型ID数组的键?我真的在为如何以这种方式操纵事物而苦苦挣扎?有任何想法吗?我试过使用FLATTEN和其他命令来了解是否有用。我正在使用AvroStorage将文件写入此模式:我需要将此数据写入的字段架构如下所示:"fields":[{"name":"mem

hadoop - 处理 PIG Latin 中的重复记录

如果文件中有重复项,则第一个记录应转到有效文件,其余重复记录应使用PIG脚本移至无效文件。场景如下。Input:Acc|Phone|Name1234|333-444-5555|XYZ4567|222-555-1111|ABC1234|234-123-0000|DEF9999|123-456-1890|PQR8734|456-879-1234|QWE4567|369-258-0147|NNN1234|987-654-3210|BLSoutput:Twofiles1.Validrec:1234|333-444-5555|XYZ4567|222-555-1111|ABC9999|123-45

hadoop - Pig Latin 中的分组

在PigLatin中,我想按2次分组,以便选择具有2种不同规律的行。我无法解释这个问题,所以这里有一个例子。假设我想获取年龄与我最接近($my_age)并且有很多钱的人的规范。RelationAisfourcolumns,(name,address,zipcode,age,money)B=GROUPABY(address,zipcode);#groupbytheaddress--generatetheaddress,theperson'sage...C=FOREACHBGENERATEgroup,MIN($my_age-age)ASmin_age,FLATTEN(A);D=FILTER

hadoop - 如何使用 Pig Latin 从 AWS S3 加载数据

我要使用PigLatin检索根据日期保存和组织的CSV文件。我想自动执行此过程并获取昨天的数据。代码如下:tempdate=CurrentTime();--P1D=periodof1dayinISOformatyesterday=foreachtempdategenerateSubtractDuration(tempdate,P1D);$date=ToString(yesterday,"YYYY-MM-dd");data=load's3://folder/folder/$date'as(a:tuple());dumpdata;但我一直收到这个错误:[main]错误org.apache.