【问题标题】:Migrating Oracle database based on a database mapping document using Talend Data Integration [closed]使用 Talend Data Integration 基于数据库映射文档迁移 Oracle 数据库 [关闭]
【发布时间】:2014-06-02 03:34:51
【问题描述】:

我的团队必须使用 Talend Open Studio Data Integration 进行 Oracle 数据库迁移。有许多模式更改导致目标数据库,我们有目标数据库的新数据模型,没有数据。我所拥有的只是源数据库、空目标数据库和一个重映射文档(MS Excel),如图所示。有从源列到目标列的直接复制、在从源列到目标列的值之间发生转换的简单映射、复杂映射。例如,在某些情况下,源列中的值可以映射到目标数据库表的两列,而相同的值可以填充到不同表中的列。你有什么想法来解决这个问题吗?

【问题讨论】:

  • 这是一个非常广泛的问题,如果您没有研究过 Talend 功能并自己尝试过,那么在这里发布问题还为时过早。您应该尽最大努力,然后在遇到问题时提出具体的问题。这个问题没有灵丹妙药,它会非常乏味且容易出错,并且需要花费大量时间才能将所有事情做好。

标签: database excel oracle data-migration talend


【解决方案1】:

正如您提到的,您有固定的数据源和固定的目的地,那么最好遵循以下方法。

  1. 为所有数据库架构创建源连接和检索架构。
  2. 为目标数据库执行相同的活动并检索相同的架构。
  3. 现在创建单个作业以使用多个子作业加载数据或为每个表加载创建作业。
  4. 逐步添加源表和相应的输出表,并使用 tMap 或其他转换组件将源与目标列进行映射。

如果您正在寻找任何动态加载,那么它在您的场景中很复杂,无论如何您必须进行映射以利用 talend 的动态功能。

另一种选择是JobScript,它带有企业版的talend,也很难锻炼。

【讨论】:

    【解决方案2】:

    正如 cmets 中所述,这个问题看起来太宽泛了。

    但是,您的问题的症结显而易见,您只需要进行一些相当简单的转换即可。

    为此,您可以使用 Talend 的 tMap 组件来涵盖您提到的所有场景。由于图形界面,它是一个非常强大的工具并且易于使用。只需拉入您的源信息,然后在输出中定义您的目标架构,然后从源拖放到目标。

    例如,您的工作在一个非常简单的层次上应该是这样的:

    您可以使用如下配置的 tMap 从问题中实现示例映射:

    您可以在映射中使用一些非常简单的 Java sn-ps 来根据需要进行更改。在这里,我检查 OLD_COL_TWO 的值为“E”,如果是,则进行必要的转换,否则使用 ternary operator 进行其他适当的转换。

    【讨论】:

    • 感谢您的回答。它非常有用,我将尝试使用这种方法制作更通用的解决方案。
    猜你喜欢
    • 2014-12-15
    • 2014-08-24
    • 2010-12-08
    • 2012-07-26
    • 2021-02-25
    • 2012-11-18
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多