java - 如何在java中运行pentaho pig作业

标签 java hadoop apache-pig pentaho

我在 Spoon 中创建了作业,我正在使用 Pig 脚本执行器。在 UI 中它工作正常。它正在调用 Pig 脚本并提供所需的输出

Output(s): Successfully stored 445454 records (15256953 bytes) in: "/hive/warehouse/weblogs/aggregate_pig_test3"

Counters: Total records written : 445454 Total bytes written : 15256953 Spillable Memory Manager spill count : 0 Total bags proactively spilled: 0 Total records proactively spilled: 0

Job DAG: job_local270305097_0001 2016/04/06 17:24:12 - Pig Script Executor - 2016/04/06 17:24:12 - Success! 2016/04/06 17:24:12 - Pig Script Executor - Num successful jobs: 1 num failed jobs: 0

现在,当我在 java 中使用相同的 .kjb 文件时,我没有得到所需的输出。看起来我的脚本没有执行,但我没有得到任何异常

我的java代码

         KettleEnvironment.init();
         Properties props = new Properties();
        JobMeta  metadata = new JobMeta("pig.kjb",null);
        Job  job = new Job (null, metadata);
        job.start();
        job.waitUntilFinished();

        System.err.println(job.getStatus());
          if (job.getErrors()!=0) {
            System.out.println("Error encountered!");
         }

    } catch (KettleException e) {
        e.printStackTrace();
    }
}

java方法的输出:

2016/04/06 18:25:59 - pig - Start of job execution 2016/04/06 18:25:59 - pig - Starting entry [Pig Script Executor] 2016/04/06 18:25:59 - pig - Finished job entry [Pig Script Executor] (result= 2016/04/06 18:25:59 - pig - Job execution finished

但是什么也没发生。就像上面的 Spoon UI 中一样,它存储文件。我不知道缺少什么。为什么我的java代码没有执行。

最佳答案

我错过了 pentaho 中 hadoop 配置所需的 -DKETTLE_PLUGIN_BASE_FOLDERS。

关于java - 如何在java中运行pentaho pig作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36450681/

相关文章:

hadoop - Pig 使用 LOAD 覆盖 hive 中的数据

java - 字符串流未排序?

java - 如何使用服务帐户从 App Engine 访问 Google 电子表格?

java - 升级到 10.0.1.Final 后,Infinispan 软索引文件存储出现 OutOfMemoryError

hadoop - 如何升级ambari中的组件

hadoop - curl : (5) Could not resolve proxy: DELETE; Unknown error

hadoop - Pig Latin:加载一个非常简单的包

java - 我该如何使用 natty-master?

hadoop - HBase 组件没有出现在 Pentaho Kettle 中

maven - 建立大象鸟 pig 时发生错误