我编写了一个嵌入式Pig程序,它在我的机器上执行并在服务器上执行查询(hadoop机器)并存储结果。但是在这里我将pig.property文件提供给我的类路径。
我们可以在不给Pig.property文件的情况下编写Pig-Embedded程序吗?
答案 0 :(得分:2)
您可以使用org.apache.pig.PigServer从Java程序运行pig脚本。
PigServer pigServer = new PigServer(ExecType.MAPREDUCE);
pigServer.registerScript("scripts/test.pig");
在类路径上需要'pig.properties'。
fs.default.name = HDFS://: mapred.job.tracker =: 或者将java.util.Properties的实例传递给PigServer构造函数。
Properties props = new Properties();
props.setProperty("fs.default.name", "hdfs://<namenode-hostname>:<port>");
props.setProperty("mapred.job.tracker", "<jobtracker-hostname>:<port>");
PigServer pigServer = new PigServer(ExecType.MAPREDUCE, props);
还要检查this