草庐IT

PIG_HOME

全部标签

hadoop - 以不同的用户身份运行 Pig 作业

这是一种情况,我有一个没有配置Kerberos安全性和工作站的hadoop集群。Hadoop集群运行ClouderaCDH3发行版。集群上的数据全部存储在'hdfs'用户下。工作站是运行嵌入PIG客户端的复杂软件的linux或macos工作站。PIG客户端连接到集群以运行分析作业。这里有个问题。集群和工作站上的用户帐户不同,hadoop集群中的所有数据都存储在“hdfs”主目录下用户工作站具有完整的用户帐户集。是否可以告诉PIG在不同的用户帐户下执行作业。当前pig尝试使用当前登录到工作站的用户帐户执行作业。该作业实际运行但无法访问数据,因为脚本使用相对于HDFS用户主目录的路径。我知

Hadoop Pig Latin,CONCAT 函数失败

我已经尝试了所有我能想到的排列,但我无法让CONCAT工作。当我尝试时:fake=loadCONCAT('foo','bar');我得到以下信息:2013-01-1712:41:44,443[main]错误org.apache.pig.tools.grunt.Grunt-错误1200:不匹配的输入“CONCAT”需要QUOTEDSTRING我试过双引号,我不希望它起作用,但确实没有;我试过了将参数传递给脚本并对它们使用CONCAT,我得到了同样的错误。为了激发这一点,我试图指定一个基本输出目录,该目录根据我想要的结果文件的位置与各种可能的子输出目录连接在一起。顺便说一句,我也试过:fa

java - 远程运行 Pig 作业

我正在学习Pig作业并希望使用PigServer通过Java代码在远程集群上运行Pig脚本。谁能指导我如何实现这一目标?提前致谢。 最佳答案 上面的代码是否可以用于远程调用,即Pig安装在cluster1上并从集群外的应用服务器进行调用? 关于java-远程运行Pig作业,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14508361/

hadoop - 分析 Pig/Hive 编译器生成的 Map-Reduce 作业

有没有办法查看由Pig和Hive生成​​的Map-Reduce作业的代码?我知道使用Hive,我可以查看抽象语法树,但似乎无法访问MR作业的实际Java代码。我的假设有误吗? 最佳答案 Pig和Hive不生成任何Java代码,而是进行计划。可以使用shell中的explain命令查看该计划。从SQL生成Java代码的一种方法是使用YSmart.请注意,有很多changes发生在Hive中以使其更快。 关于hadoop-分析Pig/Hive编译器生成的Map-Reduce作业,我们在Sta

java - 做UDF时Pig报错1070

我正在尝试在pig中加载我自己的UDF。我已经使用eclipse的导出功能将它制作成一个jar。我正在尝试在本地运行它,以便在将jar放在HDFS上之前确保它可以正常工作。在本地运行时,出现以下错误:错误1070:无法使用导入解析myudfs.MONTH:[,org.apache.pig.builtin.,org.apache.pig.impl.builtin.]脚本REGISTERmyudfs.jar;--DEFINEMONTHmyudfs.MONTH;A=load'access_log_Jul95'usingPigStorage('')as(ip:chararray,dash1:c

hadoop - 如何记录我编写的 Pig Latin grunt shell 命令?

我是Pig和PigLatin的新手。我想记录我在交互式gruntshell中编写的命令,以便我可以拼凑工作的PigLatin脚本。这可能吗?是否有一个文件存储我编写的命令的历史记录,类似于我的“.bash_history”文件?我想访问“.grunt_history”,如果存在这样的东西,或者以某种方式打开记录到文件。 最佳答案 Pig历史文件位于~/.pig_history中。因此,如果您的用户家是/home/joe,则路径是/home/joe/.pig_history。但是,您需要注意定位用户主目录。您可以从/etc/passw

hadoop - 如何引用 pig 输出中的列

我有一个包含以下值的数据文件:A1B2C3C3我写了下面的pig脚本。A=load'users.txt'as(usr:int,nod:int);B=GROUPABYusr;C=FOREACHBGENERATEgroup,COUNT(A);现在,我想使用输出C并进一步处理它。我如何引用C中的值/列?我试过DUMPing数据,但它们以键值对的形式出现?我是否需要将此输出写入文件,再次加载并处理?谢谢,TM 最佳答案 按以下方式为创建的列命名:C=FOREACHBGENERATEgroupasusr,COUNT(A)ascountA;随后

join - pig - 加入不起作用

我在加入pig时遇到问题。我将首先为您提供背景信息。这是我的代码:--STARTfileloadingstart_file=LOAD'dir/start_file.csv'USINGPigStorage(';')as(PARTRANGE:chararray,COD_IPUSER:chararray);--trimA=FOREACHstart_fileGENERATETRIM(PARTRANGE)ASPARTRANGE,TRIM(COD_IPUSER)ASCOD_IPUSER;dumpA;给出输出:(79.92.147.88,20140310)(79.92.147.88,20140310

hadoop - pig : Running two aggregation functions

我是Pig的新手,想运行两个聚合函数,但我不知道该怎么做。我的数据包括每行一次购买交易,其中我有一个SKU(库存标识符)和客户为SKU支付的价格(价格可能会有所不同):skuprice_paid-------------12321.7078962.1212322.1012319.7845611.9178955.13我想生成以下列表,其中包含SKU、购买该SKU的次数以及为该SKU支付的平均价格。该列表应按计数降序排列。skucountave_price_paid--------------------------123321.19789258.63456111.91如有任何帮助,我们将

hadoop - 在 PIG 中加载多个文件

我有35个Csv文件,我想使用Pig加载数据。我已经尝试了以下尝试1)A=LOAD'/home/mrinmoy/Desktop/SampathProject/Household/{HLPCA-00000,HLPCA-01000,HLPCA-02000,HLPCA-03000,HLPCA-04000,HLPCA-05000,HLPCA-06000,HLPCA-07000,HLPCA-08000,HLPCA-09000,HLPCA-10000,HLPCA-11000,HLPCA-12000,HLPCA-13000,HLPCA-14000,HLPCA-15000,HLPCA-16000,HL