Pentaho 与 REST 的数据集成

Posted

技术标签:

【中文标题】Pentaho 与 REST 的数据集成【英文标题】:Pentaho data integration with REST 【发布时间】:2011-07-28 19:48:00 【问题描述】:

我正在尝试使用 un/pwd 身份验证通过 SSL 连接到 REST API。我可以浏览 URL - 但是当我运行该作业时,什么也没有发生。本质上我只是想连接到他的服务器并将数据输出到一个 xml 文件中。

提前谢谢你

工作:

<?xml version="1.0" encoding="UTF-8"?>
<transformation-steps>
 <steps>
  <step>
    <name>REST Client</name>
    <type>Rest</type>
    <description/>
    <distribute>Y</distribute>
    <copies>1</copies>
         <partitioning>
           <method>none</method>
           <schema_name/>
           </partitioning>
    <method>GET</method>
    <url>https:&#47;&#47;blah&#47;services&#47;companies</url>
    <urlInField>N</urlInField>
    <dynamicMethod>N</dynamicMethod>
    <methodFieldName/>
    <urlField/>
    <bodyField/>
    <httpLogin>tbrown</httpLogin>
    <httpPassword></httpPassword>
    <httpPassword>Encrypted 2be98afc86aa7f2e4fa498679d99a9cce</httpPassword>
    <proxyHost/>
    <proxyPort/>
    <preemptive>N</preemptive>
    <trustStoreFile/>
    <trustStorePassword/>
    <headers>
      </headers>
    <parameters>
      </parameters>
    <result>
      <name>REST3_DATA</name>
      <code>REST3_STATUS</code>
      <response_time/>
      </result>
     <cluster_schema/>
 <remotesteps>   <input>   </input>   <output>   </output> </remotesteps>    <GUI>
      <xloc>114</xloc>
      <yloc>185</yloc>
      <draw>Y</draw>
      </GUI>
    </step>

  <step>
    <name>XML Output</name>
    <type>XMLOutput</type>
    <description/>
    <distribute>Y</distribute>
    <copies>1</copies>
         <partitioning>
           <method>none</method>
           <schema_name/>
           </partitioning>
    <encoding>UTF-8</encoding>
    <name_space/>
    <xml_main_element>Rows</xml_main_element>
    <xml_repeat_element>Row</xml_repeat_element>
    <file>
      <name>C:\temp\output.txt</name>
      <extention>xml</extention>
      <servlet_output>N</servlet_output>
      <do_not_open_newfile_init>N</do_not_open_newfile_init>
      <split>N</split>
      <add_date>N</add_date>
      <add_time>N</add_time>
      <SpecifyFormat>N</SpecifyFormat>
      <omit_null_values>N</omit_null_values>
      <date_time_format/>
      <add_to_result_filenames>N</add_to_result_filenames>
      <zipped>N</zipped>
      <splitevery>0</splitevery>
    </file>
    <fields>
      <field>
        <name>REST3_DATA</name>
        <element>DATA</element>
        <type>-</type>
        <format/>
        <currency/>
        <decimal/>
        <group/>
        <nullif/>
        <length>-1</length>
        <precision>-1</precision>
      </field>
      <field>
        <name>REST3_STATUS</name>
        <element/>
        <type>Integer</type>
        <format/>
        <currency/>
        <decimal/>
        <group/>
        <nullif/>
        <length>-1</length>
        <precision>0</precision>
      </field>
    </fields>
     <cluster_schema/>
 <remotesteps>   <input>   </input>   <output>   </output> </remotesteps>    <GUI>
      <xloc>332</xloc>
      <yloc>174</yloc>
      <draw>Y</draw>
      </GUI>
    </step>

    </steps>
<order>
  <hop> <from>REST Client</from><to>XML Output</to><enabled>Y</enabled> </hop>
  </order>
  <notepads>
   </notepads>
 </transformation-steps>

日志:

2011/07/28 15:42:10 - 转换元数据 - 我们有 0 连接... 2011/07/28 15:42:10 - 转换元数据 - 阅读 2 个步骤... 2011/07/28 15:42:10 - 转换元数据 - 查看 步骤 #0 2011/07/28 15:42:10 - 转换元数据 - 查看 步骤 #1 2011/07/28 15:42:10 - 转换元数据 - 我们有 1 啤酒花... 2011/07/28 15:42:10 - 转换元数据 - 看啤酒花

0 2011/07/28 15:42:10 - 转换元数据 - 读取的步骤数:

2 2011/07/28 15:42:10 - 转换元数据 - 读取的跃点数:1 2011/07/28 15:42:10 - 勺子 - 改造开启。 2011/07/28 15:42:10 - Spoon - 启动改造[测试]... 2011/07/28 15:42:10 - Spoon - 开始执行转换。 2011/07/28 15:42:10 - 测试 - 开始调度转换 [测试] 2011/07/28 15:42:10 - 测试 - 检测到的参数数量:0 2011/07/28 15:42:10 - 测试 - 这不是重播转换 2011/07/28 15:42:10 - 转换元数据 - 自然排序的步骤在 0 毫秒(计算前一步的 1 时间)2011/07/28 15:42:10 - 测试 - 我发现了 2 个不同的启动步骤。 2011/07/28 15:42:10 - 测试 - 分配行集... 2011/07/28 15:42:10 - 测试 - 分配行集 对于第 0 步 --> REST 客户端 2011/07/28 15:42:10 - 测试 - prevcopies = 1、nextcopies=1 2011/07/28 15:42:10 - 测试 - 转换分配 新行集 [REST Client.0 - XML Output.0] 2011/07/28 15:42:10 - 测试 - 为步骤 0 分配 1 个行集 --> REST 客户端 2011/07/28 15:42:10 - 测试 - 为第 1 步分配行集 --> XML 输出 2011/07/28 15:42:10 - 测试 - 为第 1 步分配了 1 个行集 --> XML 输出 2011/07/28 15:42:10 - 测试 - 分配步骤和 StepData... 2011/07/28 15:42:10 - 测试 - 转换即将分配步骤 [REST [Rest] 类型的客户端] 2011/07/28 15:42:10 - 测试 - 步骤有 nrcopies=1 2011/07/28 15:42:10 - REST Client.0 - 分发 激活 2011/07/28 15:42:10 - REST Client.0 - 开始分配 缓冲区和新线程... 2011/07/28 15:42:10 - REST Client.0 - 步骤 信息:nrinput=0 nroutput=1 2011/07/28 15:42:10 - REST Client.0 - 输出相对。是 1:1 2011/07/28 15:42:10 - REST Client.0 - 找到输出 行集 [REST Client.0 - XML Output.0] 2011/07/28 15:42:10 - REST Client.0 - 完成调度 2011/07/28 15:42:10 - 测试 - 转型又分了新台阶:【REST客户端】.0 2011/07/28 15:42:10 - 测试 - 转换即将分配步骤 [XML [XMLOutput] 类型的输出] 2011/07/28 15:42:10 - 测试 - 步骤有 nrcopies=1 2011/07/28 15:42:10 - XML Output.0 - 分发已激活 2011/07/28 15:42:10 - XML Output.0 - 开始分配缓冲区和 新线程... 2011/07/28 15:42:10 - XML Output.0 - 步骤信息: nrinput=1 nroutput=0 2011/07/28 15:42:10 - XML Output.0 - 上一个 从 [XML 输出] #0 开始 --> REST 客户端 2011/07/28 15:42:10 - XML Output.0 - 输入 rel 为 1:1 2011/07/28 15:42:10 - XML Output.0 - 找到 输入行集 [REST Client.0 - XML Output.0] 2011/07/28 15:42:10 - XML Output.0 - 完成调度 2011/07/28 15:42:10 - 测试 - 转型又分了新台阶:【XML输出】.0 2011/07/28 15:42:10 - 测试 - 这个转换可以通过回放来回放 日期:2011/07/28 15:42:10 2011/07/28 15:42:10 - 测试 - 初始化 2 步骤... 2011/07/28 15:42:10 - REST Client.0 - 在从属服务器上运行

0/1。 2011/07/28 15:42:10 - XML Output.0 - 在从属服务器上运行

0/1。 2011/07/28 15:42:10 - XML Output.0 - 在中打开输出流

编码:UTF-8 2011/07/28 15:42:10 - 测试 - 步骤 [REST Client.0] 初始化完美。 2011/07/28 15:42:10 - 测试 - 步骤 [XML Output.0] 完美初始化。 2011/07/28 15:42:10 - 测试 - 转换已分配 2 个线程和 1 个行集。 2011/07/28 15:42:10 - REST Client.0 - 开始运行... 2011/07/28 15:42:10 - REST Client.0 - 向 1 个输出行集发出“输出完成”信号。 2011/07/28 15:42:10 - XML Output.0 - 开始运行... 2011/07/28 15:42:10 - REST Client.0 - 完成处理(I=0, O=0, R=0, W=0, U=0,E=0) 2011/07/28 15:42:10 - XML Output.0 - 发出“输出完成”信号 到 0 个输出行集。 2011/07/28 15:42:10 - XML Output.0 - 完成 处理 (I=0, O=0, R=0, W=0, U=0, E=0) 2011/07/28 15:42:10 - Spoon - 变身完成!!

【问题讨论】:

【参考方案1】:

这是一个老问题,但我想如果有人偶然发现此页面,我会提出建议。

确保您将生成行步骤作为第一步,因为您无法使用 REST 客户端步骤开始转换,因为它是查找步骤而不是输入步骤。

【讨论】:

以上是关于Pentaho 与 REST 的数据集成的主要内容,如果未能解决你的问题,请参考以下文章

工程师手记 | 数据科学专题第三篇:Pentaho数据集成(PDI)与Python和模型管理

如何检查 cassandra 与 pentaho 数据集成器的连接

Pentaho 数据集成:与 MS SQL Server 的 jdbc 连接不起作用

工程师手记 | 数据科学专题第二篇:Pentaho数据集成(PDI)与数据科学笔记本集成

Pentaho 数据集成输入/输出位类型错误

Pentaho 组件集成