草庐IT

PIG_FEATURE

全部标签

map - PIG UDF 加载 .gz 文件失败

我编写了UDF以将文件加载到Pig中。它适用于加载文本文件,但是,现在我还需要能够读取.gz文件。我知道我可以解压缩文件然后处理,但我只想读取.gz文件而不解压缩它。我的UDF从LoadFunc扩展,然后在我的自定义输入文件MyInputFileextendsTextInputFormat中。我还实现了MyRecordReader。只是想知道extendsTextInputFormat是否是问题所在?我尝试了FileInputFormat,仍然无法读取文件。有人写过UDF从.gz文件读取数据吗? 最佳答案 TextInputForm

hadoop - 在 Pig 中过滤分组值

我有一个正在分组的关系。我怎样才能像map一样访问分组值?data=load'log.txt'as(id:chararray,name:chararray);grouped=groupdatabyid;foreachdata{filtered=filtergroupbygroup.id=data.id;};我尝试迭代组并过滤结果包的一种方法。但我的情况是我必须迭代一个外部元组,然后必须从这些结果中从分组值中获取相应的包。我尝试了嵌套的foreach,但出现以下异常,expressionisnotaprojectexpression:(Name:ScalarExpression)Type

hadoop - 使用 cygwin 在 Windows 中安装 pig

我在windowsxp中使用cygwin安装pig-0.11.1。我提取了我的pig_home文件夹并将其放置在cygwin的用户目录中。当我尝试在提示符下命令./pighelp时,它显示以下错误。其中:(/usr/local/bin:/usr/bin:/cygdrive/c/ProgramFiles/Java/jdk1.6.0_31/bin:/home/sunil/pig-0.11.1/bin中没有hadoop)cygpath:无法创建C:\cygwin\home\sunil\pig-0.11.1\logs的短名称找不到pig.jar。做'antjar',然后再试一次我能得到一些关于

hadoop - 如何设置首选项以在 Eclipse 中运行 PIG 脚本?

我在我的eclipse中下载并安装了pigpen插件,我按照thislink中的步骤操作)但是当我设置Pig的ConfigurationPath时有点困惑。谁能告诉我如何设置首选项以在eclipse中运行pig脚本。我很累,但没有正常工作。 最佳答案 您是否使用UnixBox来运行Eclipse?如果答案是肯定的,那么你可以让它工作。如果你在Windows上工作并使用SSH客户端连接到Unix框,恐怕它不会工作(至少按照你帖子中提到的链接) 关于hadoop-如何设置首选项以在Eclip

hadoop - 如何使用 PIG 在 Hadoop 中给定阈值进行连接

假设我有一个具有以下架构的数据集:ItemName(String),Length(long)我需要根据长度找到重复项。这在PIG中很容易做到:raw_data=LOAD...datasetgrouped=GROUPraw_databylengthitems=FOREACHgroupedGENERATECOUNT(raw_data)ascount,raw_data.name;dups=FILTERitemsBYcount>1;STOREdups....上面找到了完全相同的重复项。给定以下设置:一、100二、105三、100它会输出2,(a,c)现在我需要使用阈值查找重复项。例如,如果项目

hadoop - 如何将输入模式附加到 pig 中的输出

我写了一个UDF,其中我的输入模式是一袋元组,现在在我的UDF中,我正在处理每个元组并为每个元组附加额外的字段并将其提供给输出包。这很好用,现在在我的下一步中,我尝试创建我的输出包的输出模式,我只想在我的包输入的元组中附加一个字段。我该怎么做?这是我的输入包架构。xx:{(uniqueRS::PreprocUDF::id:long,uniqueRS::PreprocUDF::dominion:chararray,uniqueRS::PreprocUDF::affectedItemGRN:chararray,uniqueDomAndUser:{(PreprocUDF::dominion:

hadoop - 使用 SPLIT 和 COGROUP 的 Pig LOAD 以及映射器的数量

我注意到,当我在加载后的pig脚本中引入“SPLIT”和“COGROUP”语句时,pig作业中的映射器数量会翻倍。这个对吗?有谁知道为什么会这样?我使用PigStorage加载数据集:A=LOAD'test.csv'USINGPigStorage;cattest.csvA123A345B234B123然后我使用SPLIT将数据集拆分为两个关系(使用过滤器结果相同)。然后,我将这两个关系组合为一个,并存储它。SPLITAINTOAAIF$0=='A',ABIF$0=='B';CG=COGROUPAABY$1,ABBY$1;STORECGINTO'cg'USINGPigStorage();

hadoop - 如何在 Pig 中拆分具有 '\t' 和 ',' 值的文本文件

我想将具有制表符和逗号分隔值的文本文件转换为PIG中的完全逗号分隔值。我正在使用ApachePig版本0.11.1.,我尝试使用以下代码并尝试使用FLATTEN、TOKENIZE。但我不能把它变成完整的CSV文件。a=load'/home/mansoor/Documents/ip.txt'usingPigStorage(',')as(key:chararray,val1:chararray,val2:chararray);b=FOREACHa{key=STRSPLIT(key,'\t');GENERATEkey;}以下是我的文本文件输入:M12345M123456,M234567,M9

Hadoop Pig 作业未运行

我正在测试hadoop,截至目前我有:1)localhost:8088工作2)localhost:50070工作3)我在hdfs上创建了一些文件然后我启动pig,对文件执行LOAD,然后执行FILTER,最后执行DUMP。当我DUMP时,pig显示有关mapreduce开始的信息。它以这样的句子结尾:“MapReduceLauncher-0%完成”+“正在运行的作业是[job_xxx]”。所以我认为工作启动了。我什至在localhost:8088的hadoop界面上将它视为一个已接受的应用程序。但随后什么也没有发生:它停留在0%完成:-(因此,作业是“已接受”但永远不会运行:-(我应该

python - 在 Amazon EMR 上安装 PIG 0.14

我需要使用Hadoop2.x从PIG在AmazonEMR上运行Python流式UDF基于文档PIGworkswithHadoop2.xsinceversion0.14http://pig.apache.org/docs/r0.12.0/udf.html#python-udfshttp://pig.apache.org/docs/r0.14.0/udf.html#python-udfs我个人曾尝试过Python流式UDF在0.12上不起作用,并且根据0.14文档中缺少的注释,在我看来它应该在这个版本中起作用。在AmazonEMR文档中看到受支持的PIG版本,在我看来,只有低于0.12的受