草庐IT

sflt_filter_variable

全部标签

hadoop - pig : is it possible to write a loop over variables in a list?

我必须循环列表中的30多个变量[var1,var2,...,var30]对于每个变量,我使用一些PIGgroupby语句,例如grouped=GROUPdatabyvar1;data_var1=FOREACHgrouped{GENERATEgroupasmygroup,COUNT(data)ascount;};有没有办法遍历变量列表,或者我被迫在我的代码中手动重复上面的代码30次?谢谢! 最佳答案 我认为您正在寻找的是pigmacro为您的30个变量创建一个关系,并通过foreach对它们进行迭代,并调用一个获取2个参数的宏:您的数

hadoop - pig FILTER ERROR 1000 : Error during parsing. 遇到

这个脚本运行良好data1=LOAD'/user/maria_dev/ml-100k/test/u3.data'AS(usesrID:int,movieID:int,rating:int,ratingTime:int);DUMPdata1;输出是当我通过错误使用FILTER然后PIGdata1=LOAD'/user/maria_dev/ml-100k/test/u3.data'AS(usesrID:int,movieID:int,rating:int,ratingTime:int);filterRowData1=filterdata1by(int)movieID==556;DUMPfi

hadoop - Apache pig : Filter one tuple on another?

我想根据col2中的条件,并在操作col2之后,通过拆分两个元组(或Pig中的任何名称)来运行Pig脚本,进入另一列,比较两个被操纵的元组并进行额外的排除。REGISTER/home/user1/piggybank.jar;log=LOAD'../user2/hadoop_file.txt'AS(col1,col2);--log=LIMITlog1000000;isnt_filtered=FILTERlogBY(NOTcol2=='Somevalue');isnt_generated=FOREACHisnt_filteredGENERATEcol2,col1,RANDOM()*1000

hadoop - MIn max group wise 和 filter without join in pig

我正在尝试为每个组找到(max+min)/2。以下是我的架构UrlXpathsCount:{url:chararray,leafpathstr:chararray,urlpath_count:long}我正在尝试按url字段对其进行分组byUrl=GROUPUrlXpathsCountbyurl;我正在尝试通过以下方式找到(max+min)/2。midRangeByUrl=FOREACHbyUrl{urls_desc=orderUrlXpathsCountbyurlpath_countdesc;urls_max=limiturls_desc1;urls_asc=orderUrlXpat

variables - 在 HIVE 中增加现有的 row_sequence

我们正在尝试创建一个HIVE表,其中将包含一个序列,该序列将充当唯一标识符。该表将每天附加数据,我们希望保持序列运行。对于初始加载,我们使用了“org.apache.hadoop.hive.contrib.udf.UDFRowSequence”这对于future的key来说显然是不够的,因为它总是从0开始。我们考虑过在每次运行之前从表中存储最大键,然后在每次加载操作时将其添加到序列中,但似乎无法使其在HIVE中工作。我们面临的问题是我们无法将查询结果保存到变量中理想情况下它会执行以下操作(伪代码):创建临时函数row_sequence作为'org.apache.hadoop.hive.

hadoop - 我可以在 hadoop - PIG 中使用 "filter by' 和 Map 结构吗?

前提是有一个像,,,这样的mapmap.文本[key1#v1][key2#v2][key3#v3]然后,如果我尝试查找“key2的值​​”,A=load‘map.text’as(M:map[]);B=foreachAgenerateM#'key2';C=filterBby$0!='';//togetridofemptyvaluelike(),(),().dumpC;还有其他方法可以找到key2吗?仅使用“过滤依据”。谢谢你。 最佳答案 不需要GENERATE一个字段,然后在FILTER中使用它;您可以将其包含在FILTER语句中,开

java - 将多个参数传递给 Pig Filter UDF

我是Pig脚本的新手。我想将多个参数传递给Pig过滤器UDF,但出现错误“无效的标量投影:需要从关系中投影列才能将其用作标量”我正在执行以下步骤。input=load'....';dumpinput;/*workingabletoseedata*/output=FILTERinputbynotFilterUDF(input,val1,val2);这没有用。所以我试着跟随。input=load'......';dumpinput;/*workingabletoseedata*/dataWithVal=FOREACHinputGENERATE$0,$1,val1,val2;dumpdata

hadoop - Apache-PIG 脚本 : ERROR Invalid field projection on joined variable

我创建的Pig脚本有效,除非我尝试在我加入的字段上使用GENERATE。cc_data=LOAD'default.complaint1'USINGorg.apache.hive.hcatalog.pig.HCatLoader();cc2_data=LOAD'default.complaint2'USINGorg.apache.hive.hcatalog.pig.HCatLoader();combined=joincc_databycomplaintid,cc2_databycomplaintid;如果我对我的组合执行DESCRIBE,它会显示如下:合并:{cc_data::datere

filter - pig 中的过滤器匹配太多

我有一个过滤关键字列表(大约1000个),我需要使用这个列表过滤pig中的一个关系字段。最初,我将这些关键字声明为:%declarep1'.keyword1.';.......%declarep1000'.keyword1000.';我然后像这样进行过滤:Filtered=FITLERSRCBY(not$0matches'$p1')and(not$0matches'$p2')and......(not$0matches'$p1000');DUMP过滤;假设我的源关系在SRC中,我需要在第一个字段(即$0)上应用过滤。如果我将过滤器的数量减少到100-200,它工作正常。但随着过滤器数量

hadoop - Apache pig : filter based on tupple member content

我正在学习ApachePig,在实现我的愿望时遇到了问题。我有这个对象(在执行GROUPBY之后):MLSET_1:{groupchararray,MLSET:{(key:chararray,text:chararray)}}我只想在某个模式(PATTERN_A)出现在文本中并且另一个模式(PATTERN_B)未出现在一个键的文本字段中时才生成key。我知道我可以使用MLSET.text获取特定键的所有文本值的元组,但是关于如何从元组中筛选项目列表,我仍然遇到同样的问题。这是一个例子:(key_A,{(key_A,start),(key_A,stop),(key_A,unknown),