我是猪脚本,Hadoop,Hbase的新手.这是我需要知道的.我想运行一个猪脚本,我不想在我的java程序中嵌入pig脚本,并希望通过任何Pig Execution方法运行它,传递必要的pig脚本和参数(可能是参数文件).核心猪库或任何其他库是否提供了执行pig脚本的方法.我已经尝试过使用java运行时exec方法,我使用空格分隔字符串传递一些参数,所以我通过运行时exec方法删除了调用pig grunt命令,因为它不是执行pig命令的正确方法.
您可以使用org.apache.pig.PigServer从Java程序运行pig脚本.
PigServer pigServer = new PigServer(ExecType.MAPREDUCE);
pigServer.registerScript("scripts/test.pig");
Run Code Online (Sandbox Code Playgroud)
在类路径上需要'pig.properties'.
fs.default.name=hdfs://<namenode-hostname>:<port>
mapred.job.tracker=<jobtracker-hostname>:<port>
Run Code Online (Sandbox Code Playgroud)
或者将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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11713 次 |
| 最近记录: |