草庐IT

pig-without

全部标签

hadoop - 如何使用 PIG 脚本获取两个纪元时间值之间的毫秒数

游戏ID|开始时间|结束时间1|1235000140|12350024572|1235000377|12350033003|1235000414|12350561281|1235000414|12350561282|1235000377|1235003300在这里,我想获取两个纪元时间字段BeginTime和EndTime之间的毫秒数。然后计算每场比赛的平均时间。 最佳答案 games=load'games.txt'usingPigStorage('|')as(gameid:int,begin_time:long,end_time:

hadoop - 错误 1070 : Could not resolve toDate using imports: [, java.lang., > org.apache.pig.builtin., org.apache.pig.impl.builtin.]

使用pig将数据转换为日期时间时出现问题。导入以下数据集,制表符分隔,我添加了\t来说明。5000001\t1133938\t1273719\t2008-06-0100:03:35.0我想获取最后一个值(2008-06-0100:03:35.0)并提取月份。将其加载为DateTime会生成一个空白字段。因此,我想将其导入为字符数组,然后使用toDate将其转换为我可以在其上使用getMonth的日期时间字段。当我在shell中尝试时,我得到了这个:grunt>orders=load'/home/cloudera/Desktop/orders1'usingPigStorage('\t')

hadoop - pig 注册jar,文件不存在报错

我正在使用Hortonworks沙盒并尝试运行一个简单的pig脚本。似乎有与“文件不存在”相关的恼人错误。脚本如下:REGISTER'/piggybank.jar';inp=load'/my.csv'USINGorg.apache.pig.piggybank.storage.CSVExcelStorage..ERROR2997:EncounteredIOException.Filedoesnotexist:hdfs://sandbox.hortonworks.com:8020/tmp/udfs/'/piggybank.jar'但是,我的jar位于根目录(/)中,并且我也给予了适当的许可

hadoop - 尝试执行 pig 语句时出错

我正在尝试执行一条pig语句,该语句向我显示txt文件中的数据,并且我在mapreduce模式下运行,但是我收到一个错误,请有人帮我解决这个问题!![root@master~]#pig-xmapreduce17/04/1917:42:34INFOpig.ExecTypeProvider:TryingExecType:LOCAL17/04/1917:42:34INFOpig.ExecTypeProvider:TryingExecType:MAPREDUCE17/04/1917:42:34INFOpig.ExecTypeProvider:PickedMAPREDUCEastheExecTy

sql - 在 Apache Pig 中计算连接表中的总和

我从Hive加载以下三个表:books=LOAD'books'USINGorg.apache.hive.hcatalog.pig.HCatLoader()AS(isbn_b:chararray,booktitle:chararray,author:chararray,pubyear:chararray,publisher:chararray,urls:chararray,urlm:chararray,urll:chararray);users=LOAD'users'USINGorg.apache.hive.hcatalog.pig.HCatLoader()AS(id_u:chararr

hadoop - 提取 Pig 中的数据,不包括第一列

我有非结构化数据key1|a1|a11|a21|a31|a41key2|b1|b11key3|c1|c11|c21key4|d1key2|b101|b111key1|a101|a111|a121|a131|a141根据第一列,将记录拆分并分发到目录。z=load'/user/input/data.txt'usingPigStorage('|');splitzintoz1if$0=='key1',z2if$0=='key2',z3if$0=='key3',z4if$0=='key4';z11=foreachz1generate$1,$2,$3,$4,$5;z22=foreachz2gen

hadoop - 在 Pig 中对多列使用 SUM 时出错

下面是Pig的非结构化输入数据file1.txt---------input|key1|id1|1|1|2|3input|key1|id1|1|0|1input|key1|id1|1|1预期输出是单个记录,其中所有记录的前3列值都相同,我需要总结第4列和第5列。key1|id1|3|2错误如下:data=load'file1.txt'usingPigStorage('|');temp1=foreachdatagenerate$1,$2,sum($3),sum($4);ERRORorg.apache.pig.tools.grunt.Grunt-ERROR1070:Couldnotreso

hadoop - 如何使用 Pig 将不同的值存储在同一键的列表中

我有一个用例col1|col2a101|10a101|20a101|10a101|30a201|40a201|50预期输出:a101|列表a201|列表下面是查询,但我没有得到预期的输出。我想在列表中存储col2个不同的值。input1=load'list1.csv'usingPigStorage('|')as(col1:chararray,col2:int);input2=DISTINCT(FOREACHinput1generatecol1,col2);input3=GROUPinput2bycol1;dumpinput3;(a101,{(a101,30),(a101,20),(a1

hadoop - 用于查找每个部门薪水的最大值、最小值、平均值、总和的 Pig 脚本

按部门编号对数据进行分组后,我卡住了。我遵循的步骤grunt>A=load'/home/cloudera/naveen1/hive_data/emp_data.txt'usingPigStorage(',')as(eno:int,ename:chararray,job:chararray,sal:float,comm:float,dno:int);grunt>B=groupAbydon;grunt>describeB;B:{group:int,A:{(eno:int,ename:chararray,job:chararray,sal:float,comm:float,dno:int)}

hadoop - 使用 Pig 获取唯一记录的值(value)

下面是输入数据集。col1,col2,col3,col4,col5key1,111,1,12/11/2016,10key2,111,1,12/11/2016,10key3,111,1,12/11/2016,10key4,222,2,12/22/2016,10key5,222,2,12/22/2016,10key6,333,3,12/30/2016,10key7,111,0,12/11/2016,10基于col2、col3、col4将提供唯一记录,我需要从col1中获取任何一个值作为唯一记录,并填充为新字段col6。预期输出如下col1,col2,col3,col4,col5,col6k