草庐IT

pig-without

全部标签

hadoop - 使用 pig latin 分组后如何找到相似的元组?

我有一个具有以下结构的数据-1约翰美国2玛丽CN3史密斯美国4约翰美国5玛丽CN我需要在每个国家/地区找到重复的名称。结果应该是这样的{US:(1,John,US),(4,John,US)}{CN:(2,Mary,CN),(5,Mary,CN)}。有人可以帮我用Pig脚本来解决我的问题吗?我能够加载数据并按国家/地区名称对其进行分组。 最佳答案 我假设您有以下格式的输入:1JohnUS2MaryCN3SmithUS4JohnUS5MaryCN在这种情况下,您可以提出以下建议:A=load'data.txt'usingPigStora

Hadoop PIG Helper GROUP 错误

我正在使用HortonworksSandbox1.2,我对Hadoop平台还很陌生。所以这是错误,而我正在按照沙箱包含的教程进行操作。在PIG部分,我使用PIGHelper插入了GROUP代码。它插入一个代码,如GROUP%VAR%BY%VAR%完成教程后,我的代码看起来像这样。a=LOAD'nyse_stocks'USINGorg.apache.hcatalog.pig.HCatLoader();b=FILTERaBYstock_symbol=='IBM';c=GROUPbBYall;d=FOREACHcGENERATEAVG(b.stock_volume);DUMPd;它给出以下错

command-line - Pig 安装后 Cmd 找不到 Hadoop

安装pig后,我不能再从命令行调用hadoop了。例如:C:\Users\Andrew\Documents\Hadoop\Karung>hadoopversion'hadoop'isnotrecognizedasaninternalorexternalcommand,operableprogramorbatchfile.下面是我的路径:c:\ProgramFiles(x86)\Intel\iCLSClient\;c:\ProgramFiles\Intel\iCLSClient\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System

hadoop - 使用结果数据筛选另一个数据,Hadoop Pig。

标题可能有点困惑,所以我将展示我想要实现的目标。假设我有一个只有int的数据。102030405060708090数据叫做data.csv什么的我也是A=load'data.csv'usingPigStorage(',');它会把它加载到A然后我使用这些数据并计算它的平均值。我做的B=foreachAgenerateint;C=groupBall;avg=foreachCgenerateAVG(B.int);(忽略小的语法错误,你明白了)所以如果我转储avg,我将得到一个表示数据A平均值的整数。所以,现在我要做的是通过仅具有高于平均值的数据来过滤掉数据A。像这样X=filterAbyi

hadoop - 如何使用 Pig 加载复杂的 Web 日志语法?

我是Pig的完全初学者。我已经安装了cdh4pig并连接到cdh4集群。我们需要处理这些庞大的Web日志文件(这些文件已经加载到HDFS)。不幸的是,日志语法非常复杂(不是典型的逗号分隔文件)。一个限制是我目前无法使用其他工具预处理日志文件,因为它们太大而且无法负担存储副本的费用。这是日志中的原始行:"2013-07-0216:17:12-0700","?c=Thing.Render&d={%22renderType%22:%22Primary%22,%22renderSource%22:%22Folio%22,%22things%22:[{%22itemId%22:%225442f6

hadoop - 为什么 pig 群有奇数行为

在hadoop中,如果你想对某些东西进行分组和排序并编写java,结果是组键也将默认按词典顺序排序,所有这些都通过一个MR作业完成,这样你就可以节省另一个排序作业。但现在我加入了使用Pig的行列,发现了一个古怪的东西。我的输入(test.txt)是:aababcbc我的脚本是:A=load'test.txt'asc1:chararray;B=groupAbyc1;dumpB;输出是:(a)(b)(c)(ab)(abc)为什么它有组键顺序取决于字符串长度但字母顺序。这样我需要做另一个键顺序工作,总共两个工作,因为组没有比较器插件。有什么团购解决方案吗?我将不胜感激。

hadoop - 使用 pig 从键值对中获取 n 个值

我有一个测试文件,其中的键和值由逗号分隔。我怎样才能使用pig脚本为每个键获取10个值。示例输入:john|str1,str2,str3,str4,str5,str6,str7,str8,str9,str10,str11,str2,首选输出:john|str1,str2,str3,str4,str5,str6,str7,str8,str9,str10 最佳答案 有很多不同的方法可以做到这一点,具体取决于您拥有的输入和需要的输出。我假设您只需要前十个值,而可以丢弃其余值。这就是我的做法(CL)。它比短路径(CF)稍长,但代码对我来说更

hadoop - pig 叉积减速键

当我执行叉积运算(随后进行过滤)时,reducer大小非常不平衡,一些reducer输出为零,而其他则需要几个小时才能完成。一个基本示例是以下代码:crossproduct=crosstweets,clients;result=filtercrossproductbytextmatchesCONCAT('.*',CONCAT(keyword,'.*'));storeresultinto'result'usingPigStorage('');在这种情况下,reducer键是什么? 最佳答案 这是一个很难回答的问题。Cross在Pig中

hadoop - 接受多个输入的 Pig UDF

PigUDF的快速问答。我有一个自定义UDF,我想接受多列:packagepigfuncs;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importorg.apache.pig.EvalFunc;importorg.apache.pig.FuncSpec;importorg.apache.pig.data.DataBag;importorg.apache.pig.data.DataType;importorg.apache.pig.data.Tuple;importorg.apache

hadoop - 当您使用 Pig Latin 有许多小输入文件时提高性能

目前我正在处理大约19GB的日志数据,而且它们是分开的,因此输入文件的编号是145258(pigstat)。在WebUI中执行应用程序和启动mapreduce作业之间,准备工作浪费了大量时间(大约3小时?),然后mapreduce作业开始。而且mapreduce作业本身(通过Pig脚本)非常慢,大约需要一个小时。mapreduce逻辑没有那么复杂,就像一个groupby操作。我有3个数据节点和1个名称节点,1个辅助名称节点。如何优化配置以提高mapreduce性能? 最佳答案 您应该将pig.maxCombinedSplitSize