我有一台运行 Pentaho BI 服务器 v6 社区版的服务器。我们开发了一项 Kettle 作业,用于从一个数据库提取到另一个数据库,并导出为 KJB 文件。我想每 12 个小时左右运行一次这项工作。
我注意到BI服务器已经包含了Kettle,并且具有上传和调度作业的能力。如果BI服务器已经安装了Kettle,还需要安装DI服务器吗?
如果没有,如何将KJB文件发布到BI服务器中?我想使用文件系统存储库。如果我直接通过用户控制台上传文件,日志显示导入成功,但我无法在任何地方选择或运行该作业。
我使用 Pentaho BI 服务器 5,但它在 Pentaho BI 6 上应该同样工作。
我的 Kettle 工作运行许多子转换。转换文件存储在文件系统目录中,例如/opt/etl。
假设我有一份工作 ( daily_job.kjb),有两个子转换。
要运行,Kettle job我Pentaho BI CE使用以下步骤:
/opt/etl)xaction执行的文件( )Kettle jobdaily.xactiondaily.xaction文件daily_job.kjb到 Pentaho BI 服务器(同一文件夹)daily.xaction文件工作设置在daily_job.kjb:
Xaction 代码daily.xaction(简单地说,它在 BI 服务器中的同一文件夹daily_job.kjb中执行):xaction
<?xml version="1.0" encoding="UTF-8"?>
<action-sequence>
<title>My scheduled job</title>
<version>1</version>
<logging-level>ERROR</logging-level>
<documentation>
<author>mzy</author>
<description>Sequence for running daily job.</description>
<help/>
<result-type/>
<icon/>
</documentation>
<inputs>
</inputs>
<outputs>
<logResult type="string">
<destinations>
<response>content</response>
</destinations>
</logResult>
</outputs>
<resources>
<job-file>
<solution-file>
<location>daily_job.kjb</location>
<mime-type>text/xml</mime-type>
</solution-file>
</job-file>
</resources>
<actions>
<action-definition>
<component-name>KettleComponent</component-name>
<action-type>Pentaho Data Integration Job</action-type>
<action-inputs>
</action-inputs>
<action-resources>
<job-file type="resource"/>
</action-resources>
<action-outputs>
<kettle-execution-log type="string" mapping="logResult"/>
<kettle-execution-status type="string" mapping="statusResult"/>
</action-outputs>
<component-definition>
<kettle-logging-level><![CDATA[info]]></kettle-logging-level>
</component-definition>
</action-definition>
</actions>
</action-sequence>
Run Code Online (Sandbox Code Playgroud)
在 Pentaho BI CE 上调度 Kettle 作业(xaction 文件):
| 归档时间: |
|
| 查看次数: |
11159 次 |
| 最近记录: |