使用Pentaho作为XML ETL工具

时间:2012-10-22 03:38:14

标签: xml etl pentaho

我对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部分并开始使用它?

2 个答案:

答案 0 :(得分:1)

  1. 是的,Kettle / PDI可以轻松导出XML,因为它可以导入XML。
  2. 否。您可以使用Kettle的XML部分,它本身只是堆栈的一部分。要清楚 - Pentaho不是这样的框架,它是具有多个子产品的产品堆栈 - 您只需要查看ETL部分 - PDI / Kettle。
  3. Kettle很容易上手,所以只需加载它,阅读许多样品中的一些并开始使用!

答案 1 :(得分:1)

大多数ETL工具可以低容量处理简单的XML文件。但是,当您必须根据行业标准(如ISO 20022,HL7等)处理大量和非常复杂的XML文件时,您最好使用专用的企业XML解析器,例如, Flexter数据解放器。它具有额外的优势,这些工具通常可以自动完成整个过程,这使得从XML文件中获取数据变得非常快速和容易,并且可以使用SQL查询这种有用的关系格式。

以下是指向compares Flexter to Oracle Data Integrator

的博客文章的链接