krc*_*cun 2 java apache-pig sql-execution-plan
我试图找到在java中的整个猪脚本上运行explain命令的方法.我使用的是PigServer,但它只提供单个查询(别名)而不是整个脚本的解释.有没有办法做这样的事情:
$ pig -x local -e 'explain -script Temp1/TPC_test.pig -out explain-out9.txt'
Run Code Online (Sandbox Code Playgroud)
但是从我的Java代码?
您可以将PigRunner用于此目的.
例如:
import org.apache.pig.PigRunner;
import org.apache.pig.tools.pigstats.PigStats;
public class PigTest {
public static void main(String[] args) throws Exception {
args = new String [] {
"-x", "local",
"-e", "explain -script Temp1/TPC_test.pig -out explain-out9.txt"
};
PigStats stats = PigRunner.run(args, null);
//print plan:
//stats.getJobGraph().explain(System.out, "text", true);
}
}
Run Code Online (Sandbox Code Playgroud)
我发现需要以下运行时依赖项来避免NoClassDefFoundError: