草庐IT

java - 比较 Storm bolt 中的上一个和下一个元组

我有由Storm拓扑处理的实时数据。数据可以是四种类型,比方说A、B、C、D。这些数据中的每一种都由bolt以随机顺序使用。我需要做的是比较两个相同数据类型的元组。例如,我想将A型元组与下一个A型元组进行比较,或者说将当前A型元组与先前收到的A型元组进行比较。有没有办法在bolt中做到这一点?或者我必须将以前的结果保存在数据库中的某个位置(比如hbase或缓存)并查询它以与特定类型的当前元组进行比较。编辑假设A、B、C、D类型的数据流来自spoutB4A4C7D2A3A2B3C6D1B2C5C4B1C3C2C1A1----->Spout-->BOLT现在在bolt,我想比较A1和A2,

hadoop - 如何比较 PIG 中的两个元组?

我想过滤数据集A中flight_delay_time小于某个特定值(x)的记录。但是我将从另一个pig查询中获取x的值,从x是一个元组的意义上说,它是一个元组。但是使用下面的语句会抛出一个错误:B=FILTERAbyflight_delay_time文件A中的数据是这样的;ravi,savings,avinash,2,char,33,F,22,44,12,13,33,44,22,11,10,22,26avinash,current,sandeep,3,char,44,M,33,11,10,12,33,22,39,12,23,19,35supreeth,savings,prabhash,

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 - 基于字段组合元组?

假设我有这样的结构{1001,{{id=1001,count=20,key=a},{id=1001,count=30,key=b}}}{1002,{{id=1002,count=40,key=a},{id=1001,count=50,key=b}}}我想把它变成{id=1001,a=20,b=30}{id=1002,a=40,b=50}我可以使用哪些Pig命令来执行此操作? 最佳答案 不确定您的起始关系的确切格式是什么,但对我来说它看起来像(int,bag:{tuple:(int,int,chararray)})?如果是这样,这应该

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