如何以编程方式确定Pig Execution Mode

时间:2014-05-19 04:48:33

标签: hadoop apache-pig

我们如何确定猪是在本地模式还是地图缩小模式下运行?是否有任何具体的命令可以找到它?

2 个答案:

答案 0 :(得分:0)

为什么需要这个?

-x localpig-x mapreduce是2种模式的命令行选项。

以编程方式我们做

PigServer pigServer = new PigServer("local");

PigServer pigServer = new PigServer("mapreduce");

我认为我们可以记录它。

可能有更好的做法。

答案 1 :(得分:0)

如果您以编程方式调用Pig,但由于某些原因,不知道Pig启动时选择的运行模式,您可以在PigServer实例上调用getPigContext()。getExecType()。 / p>

如果您需要知道Pig脚本中的运行模式,您可以访问客户端命令行参数并从UDF中解析运行模式,如下所示:

UDFContext context = UDFContext.getUDFContext();
Properties props = context.getClientSystemProps();
String commandArgs = props.getProperty("pig.cmd.args");
Pattern pattern = Pattern.compile("-x\\s+local");
Matcher matcher = pattern.matcher(commandArgs);
boolean isLocal = matcher.find();