在本地模式下运行 pig

Posted

技术标签:

【中文标题】在本地模式下运行 pig【英文标题】:Running pig in local mode 【发布时间】:2013-03-16 07:49:56 【问题描述】:

我是 APACHE PIG 的初学者,以下是我有点困惑的地方

我正在尝试使用本地模式运行 pig 猪 -x 本地。

现在我正在尝试简单的代码

dividends = load 'NYSE_dividends' as (exchange, symbol, date, dividend);
grouping= group dividends by symbol;
avg= foreach grouped generate group, AVG(dividends.dividend);

store avg into 'average_dividend'.

在我的机器上创建了一个名为 average_dividend 的文件夹。

现在根据本书,如果我想在本地模式下运行它,我必须给出以下语法

pig_path/bin/pig -x local average_dividend.pig

但是文件average_dividend.pig在哪里(比如它是在哪里形成的)?

【问题讨论】:

【参考方案1】:

我假设您正在尝试运行 examples 或 Programming Pig 之一。 首先在您提取代码的目录中找到average_dividend.pig。 由于您在本地模式下工作,因此您必须将路径设置为NYSE_dividends, 例如:load '/home/user/programmingpig-master/data/NYSE_dividends', 将输出目录(不应该存在)也设置在要保存结果的位置,例如: store avg into '/home/user/output'.

然后发出:

pig_path/bin/pig -x local -f average_dividend.pig

【讨论】:

嗨 Lonard 感谢您的回复,但我没有提取代码,而是在 grunt 上编写命令,然后将其存储在我的 HOME 中,但我找不到任何 .pig(扩展文件)。 .如何创建 .pig 文件 谢谢

以上是关于在本地模式下运行 pig的主要内容,如果未能解决你的问题,请参考以下文章

从 oozie 以本地模式运行 PIG

pig@hadoop:使用多核处理没有 hdfs 的本地文件

Pig 不在 mapreduce 模式下工作

猪本地模式溢出数据问题

本地模式下的猪与没有 hadoop.jar 的猪之间的区别

pig的各种运行模式与运行方式详解