【问题标题】:Using Pentaho as XML ETL tool使用 Pentaho 作为 XML ETL 工具
【发布时间】:2012-10-22 03:38:13
【问题描述】:

我对 Pentaho 一无所知,我只想知道它是否能胜任我的工作,然后再投入大量时间来学习它。

Pentaho 可以用作 XML ETL 工具吗?能否实现任意变换?典型的转换是将 XML 元素“Company”及其子元素“Employee”折叠到同一个“Employee”表中,但这只是最简单的转换,还有无限的其他可能性。例如,将以下 XML 导入我们的数据库:

    <Root>
       <OrdersByCustomer>
        <CustomerInfo>
          <Customer>
            <CustomerID>1234</CustomerID>
            ...
          </Customer>
          <Address>...</Address>
        </CustomerInfo>
        <Orders>
          <Order>...</Order>
          <Order>...</Order>
          <Order>...</Order>
        </Orders>
      </ OrdersByCustomer>
    </Root>

我需要获取 CustomerID 并将其与 XML 元素“Order”中的数据一起插入。

Pantaho 能做到如此无限且任意的变换吗?还是我必须削减自己的代码?

如果上述问题的答案是肯定的,那么,还有两个问题:

  1. Pentaho 是对称的和双向的吗?我们不仅需要将 XML 导入数据库,还需要从数据库中的数据生成 XML。 Pentaho 能做到吗?

  2. 如果答案再次是肯定的,我知道 Pentaho 是一个框架,并且有关于它的书籍。是需要学习整个框架,还是直接安装,花半天时间只学习XML ETL部分,然后开始使用?

【问题讨论】:

    标签: xml etl pentaho


    【解决方案1】:
    1. 是的,Kettle/PDI 可以像导入 XML 一样轻松导出 XML。
    2. 没有。您可以只使用 Kettle 的 XML 部分,它本身只是堆栈的一部分。需要明确的是 - Pentaho 本身并不是一个框架,它是一个包含多个子产品的产品堆栈 - 您只需要查看 ETL 部分 - PDI/Kettle。

    Kettle 很容易上手,所以只需加载它,阅读众多示例中的一些,然后开始吧!

    【讨论】:

    • 谢谢先生,但您能否也回答我的第一个问题:Kettle 可以对 XML 进行任意转换吗?它可以获取 CustomerID 并将其与 详细信息一起插入“Order”表吗?
    • ?不完全确定你的意思。您可以使用 xpath 从 xml 查询数据。然后成为 PDI 流的一部分。稍后您可以查找客户 ID,无论是来自数据库还是另一个流,也可能来自 xml,然后您可以写入表。我认为值得看一些示例,您所描述的内容听起来很简单,因此您应该能够快速上手。
    • 我想知道的是,在不使用XPath的情况下,纯粹使用UI拖拽式的方式来设置,PDI能不能把CustomerID取出来和里面包含的字段放在一起,并将其作为结果集呈现?
    • 是的。您必须从一个流中的文件中读取订单,然后从另一个流中读取客户详细信息,并使用连接或流查找组件进行查找。
    猜你喜欢
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多