草庐IT

四元组

全部标签

hadoop级联如何获得前N个元组

级联的新手,试图找到一种方法来根据排序/顺序获得前N个元组。例如,我想知道人们使用的前100个名字。以下是我可以在teradatasql中执行的类似操作:selecttop100first_name,num_recordsfrom(selectfirst_name,count(1)asnum_recordsfromtable_1groupbyfirst_name)aorderbynum_recordsDESChadooppig中有类似的a=load'table_1'as(first_name:chararray,last_name:chararray);b=foreach(groupa

hadoop - 在 Pig 中创建单列元组?

我正在尝试使用FOREACH..GENERATE语句生成一个关系,该关系的唯一值是一个单列元组。为了说明,我正在尝试执行以下操作:x=LOAD'data.json'USINGJsonLoader('a:chararray,b:chararray')AS(a:chararray,b:chararray);y=foreachxgenerate(a)asvalue:(a:chararray);但是,此代码会产生以下错误:Incompatablefieldschema:declaredis"value:tuple(a:chararray)",inferedis"a:chararray"将(a)

hadoop - 如何在 Hadoop 上的 Apache Pig 中手动构建元组

我有一个文本文件,每一行都是一个字符串,我想从文本文件中的所有字符串构造一个元组。想知道如何在Pig中实现?提前致谢,林 最佳答案 @LinMa:如果目标是将每一行都作为Tuple中的一个字段,那么我们可以使用下面的代码片段。输入:line1data....line2data....line3data....lineNdata.....pig脚本:text_data=LOAD'text_data.txt'USINGPigStorage('\n')AS(line_data:chararray);text_data_gpr_all=GR

python - 无法将 pig 元组传递给 python UDF

我有master.txt,它有10K条记录,所以它的每一行都是一个元组,并且需要将整个元组传递给pythonUDF。由于它有多个记录,因此在存储p2preportmap时会出现以下错误。请帮忙错误如下:Unabletoopeniteratorforaliasp2preportmap.Backenderror:org.apache.pig.backend.executionengine.ExecException:ERROR0:Scalarhasmorethanonerowintheoutput.1st:(010301,MTS,MM),2nd:(010B06,MTS,TN)(common

hadoop - 使用 Pig Latin - Hadoop 将元组插入内袋

我正在尝试使用PigLatin创建以下格式的关系:userid,day,{(pid,fulldate,x,y),(pid,fulldate,x,y),...}关系描述:每个用户(userid)在每一天(day)购买了多个产品(pid)我正在将数据加载到:A=LOAD'**fromaHDFSURL**'AS(pid:chararray,userid:chararray,day:int,fulldate:chararray,x:chararray,y:chararray);B=GROUPABY(userid,day);DescribeB;B:{group:(userid:chararray

hadoop - PIG - 过滤器或如何进入袋子或元组的一侧

如您所见,我们可以对第一个应用过滤器,因为我们可以对温度使用聚合。现在我们如何在STRINGS上应用第二个过滤器?我们仅尝试在晴朗和部分多云的条件下过滤e。Weather=LOAD'hdfs:/home/hduser/final/Weather.csv'USINGPigStorage(',');A=FOREACHWeatherGENERATE(int)$0ASyear,(int)$1ASmonth,(int)$2ASday,(int)$4AStemp,$14AScond,(double)$5asdewpoint,(double)$10aswind;group_by_day=GROUPA

hadoop - 是否可以以将多行作为单个输入元组处理的方式使用 Pig 流式处理 (StreamToPig)?

我通过一个可执行文件在pig脚本中流式传输数据,该可执行文件为我流式传输到它的每一行输入返回一个xml片段。该xml片段恰好跨越多行,我无法控制流式传输到的可执行文件的输出关于UseHadoopPigtoloaddatafromtextfilew/eachrecordonmultiplelines?,答案是建议编写自定义记录阅读器。问题是,如果你想实现一个从文件中读取的LoadFunc,这很好用,但为了能够使用流,它必须实现StreamToPig。据我所知,StreamToPig一次只能读取一行有人知道如何处理这种情况吗? 最佳答案

hadoop - 如何生成元组? pig 的运算符(operator)

我的代码如下temp=foreachrequiredDatagenerate(recordType==3?controllingCalledNum:callingPtyNum)asServiceNumber,(recordType==3?callingPtyNum:controllingCalledNum)asDestinationNumber;这里我的代码是多余的..我可以在'?'中生成元组吗?运算符并做这样的事情,我可以进一步扁平化temp=foreachrequiredDatagenerate(recordType==3?(controllingCalledNum,calling

join - 在 Pig Latin 的几个字段上过滤和分组元组

我对在工作中使用Pig还比较陌生。我有一个巨大的表(367万个条目),其中包含字段--id、feat1:value、feat2:value...featN:value。其中id是文本,feat_i是特征名称,value是给定id的特征i的值.每个元组的特征数量可能会有所不同,因为它是稀疏表示。例如这是数据中3行的示例id1f1:23f3:45f7:67id2f2:12f3:23f5:21id3f7:30f16:8f23:1现在的任务是对具有共同特征的查询进行分组。我应该能够获得那些具有任何功能重叠的查询集。我尝试了几件事。CROSS和JOINS造成数据爆炸,reducer卡住了。我不熟

python - 元组中的元素到 Bag Pig 中的元组

我在下面有以下数据。DUMPa;(2013-12-2503:00:55,1899454055,(0958847,090119960,095V987,09518X))(2013-12-2503:02:47,1899454055,(09588,090119,0959872P,095189))(2013-12-2503:04:00,1899454055,(09588,0901199,09598720P,0951890))(2013-12-2503:04:37,1899454055,(0958,0901199,095000P,095189100))(2013-12-2503:07:12,392