草庐IT

PIG_FEATURE

全部标签

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

hadoop - 使用 PIG 处理小文件

根据我的理解,Map/Reduce对于大文件效果更好。(我理解这是由于拆分逻辑等),我们可以将文件作为值和文件名作为序列文件中的键并进行优化。现在的问题是我正在使用PIG进行分析,我们有大约数千个文件,但所有文件都以KB为单位。正如我们所知,piglatin被转换并作为MR作业运行,所以我怀疑MR作业会因为小文件而效率低下。有什么方法可以控制通过pig处理的小文件吗?有开箱即用的解决方案吗? 最佳答案 Pig具有将小文件组合成大块的功能:http://pig.apache.org/docs/r0.11.1/perf.html#com

hadoop - pig : Counting the occurence of a grouped column

在此rawdata我们有棒球运动员的信息,架构是:name:chararray,team:chararray,position:bag{t:(p:chararray)},bat:map[]使用以下脚本,我们能够列出球员以及他们踢过的不同位置。我们如何计算有多少球员打过一个特定的位置?例如。有多少球员处于“指定击球手”位置?一个位置不能在一个玩家的position包中出现多次。示例数据的Pig脚本和输出如下所示。--pigscriptplayers=load'baseball'as(name:chararray,team:chararray,position:bag{t:(p:chara