草庐IT

PIG_HOME

全部标签

java - 以自定义格式将 apache pig 数据输出到文件

我有一个制表符分隔的数据输入,由于数据大小,需要使用ApachePig进行处理。我已成功加载数据甚至对其进行了分析,但我想将输出存储到原始格式的文件中,而不是存储元组。SampleInputA\tBA\tBSampleOutputA\tBA\tB而不是(A,B),(A,B)StoreDinto'output'usingPigStorage('\n')问题出在哪里? 最佳答案 您已经加载了制表符分隔的输入,但您正在将其写回换行符(\n)分隔。尝试:StoreDinto'output'usingPigStorage('\t');或Sto

hadoop - 统计 GROUP BY 中 PIG 查询和 MySql 查询结果的差异

我的PIG查询如下所示emp=LOAD'hdfs://master:9000/hrms/DimEmployee'AS(EmployeeID,OrganizationID,EmploymentType);grouped=groupempby(OrganizationID,EmploymentType);AggEmploymentType=FOREACHgroupedGENERATEgroup.OrganizationID,group.EmploymentType,COUNT(emp.EmployeeID)ascnt;DUMPAggEmploymentType;下面给出了上述pig查询的逐

hadoop - 为 hadoop/PIG 输出数据分配 ID

我正在研究PIG脚本,它对原始交易执行繁重的数据处理,并提出各种交易模式。假设其中一种模式是-查找一天内收到跨境交易的所有账户(包括交易总额和交易金额)。我预期的输出应该是两个数据文件1)汇总数据——比如账户A1从国家AU收到了50笔交易。2)原始交易——A1的所有超过50笔交易。我的PIG脚本当前正在创建以下格式的输出数据源账户国家TotalTxnsRawTransactionsA1AU50[(Txn1),(Txn2),(Txn3)....(Txn50)]A2JP30[(Txn1),(Txn2)....(Txn30)]现在这里的问题是,当我从Hadoop系统(到某个数据库)中获取这些

hadoop - PIG 从一个 Bag 中选择另一个 Bag 的数据

我是HADOOP和PIG的新手。我有两个包:DUMPA:(1)(2)(4)DUMPB:(1,John,USA)(2,Richard,UK)(3,Ian,Ireland)(4,Simon,Canada)BagB列出了每个人。BagA里有我感兴趣的东西。我相信有一种简单的方法可以得到我感兴趣的人:(1,John,USA)(2,Richard,UK)(4,Simon,Canada)谁能把我从痛苦中解救出来?提前谢谢你。 最佳答案 您应该能够通过类似于以下的命令加入并显示这两个集合:JOINSET=joinAby$0,Bby$0;DUMPJ

hadoop - 将关系存储到本地文件中的 pig 不起作用

我是pig的新手,我正在使用存储在/etc/passwd中的passwd文件。我已经使用以下代码在本地模式下启动了pigA=LOAD'passwd'usingPigStorage(':');B=foreachAgenerate$0asid;STOREBINTO'output';给我以下错误,作业未能产生结果。最后一行如果写为DUMPB;生成输出。这里有什么问题。?提前致谢FailedJobs:JobIdAliasFeatureMessageOutputsjob_local_0004A,BMAP_ONLYMessage:Jobfailed!Error-NAfile:///home/mon

hadoop - 如何加速 Pig MultiStorage

我正在使用Pig的MultiStorage将一个输入文件拆分成许多较小的输出文件。如果有帮助,脚本如下所示:a=load'$FILES'usingAvroStorage();a_projected=foreachageneratefield1,field2;a_explode=foreacha_projectedgeneratefield1,FLATTEN(TOKENIZE(field2));--splittingbasedonfield2storea_explodeinto'$OUTPUT'usingorg.apache.pig.piggybank.storage.MultiStor

hadoop - pig 不在终端工作

我是pig的新手,我已经从下载了http://apache.techartifact.com/mirror/pig/pig-0.10.1/现在,当我在我的linux终端中写pig时,它会显示以下消息2013-04-2617:14:53,641[main]INFOorg.apache.pig.Main-Loggingerrormessagesto:/home/vishal/Downloads/pig_1366976693634.logExceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/hadoop/mapred

exception - 在本地运行 pig,UDF 程序无法写入文件/文件夹 : PriviledgedActionException

Pig/hadoop新手..在本地跑pig。java-Xmx512m-Xmx1024m-cp$PIGDIR/pig.jarorg.apache.pig.Main-Dpig.temp.dir=/tmp/$USER/$RANDOM-stop_on_failure-xlocalscript-buzz.pig用我的script.pig:(...)buzz=FOREACHfilesGENERATEchiron.buzz.Honey(file,id)asbuzz_file,id;尝试用我的UDFraise写一个文件夹/文件:[JobControl]ERRORorg.apache.hadoop.se

hadoop - Pig 通过一组键查找外部记录

我在数据库系统中有一些数据,出于几个原因我无法使用LOAD语句提取这些数据。我需要Pig按键(标识符)查找此数据,但如果我实现JavaUDF,我担心一对一键查找的性能。基本上,如果我的关系有10,000个条目,我想以某种方式在500个键的集合中查找这些数据。Pig是否提供了一个接口(interface),允许我调用一个java方法,该方法将接受一组键并返回一组(包或映射)答案,这些答案可以连接或以某种方式分配给Pig关系中的元组?预先感谢您的帮助! 最佳答案 一些建议:您能否编写您的UDF以期望在单个批处理中查询一袋标识符-那么您只

hadoop - Pig 中的嵌套展平

我在使用Pig时遇到问题,如下所示:假设我有一个别名A,比如("key1","just_for_example")。我想要类似:("key1","just"),("key1","for"),("key1","example")的东西。我的脚本如下所示:B=foreachA生成$0,FLATTEN(TOBAG(FLATTEN(STRSPLIT($1,'_'))));但它一直向我抛出错误,例如“错误1070:无法从内置解决Flatten”。但是一旦我将这个语句分成两部分以消除嵌套的扁平化,它就会起作用。这是为什么?这与Pig如何编译我的脚本有关吗?谢谢。 最佳答