我们如何确定猪是在本地模式还是地图缩小模式下运行?是否有任何具体的命令可以找到它?
答案 0 :(得分:0)
为什么需要这个?
-x local
和pig
或-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();