Pentaho Geokettle级联插入,ETL规范化过程
我是ETL流程的新手。目前,我正在更精确地使用geokettle使用kettle来进行ETL过程。我正在构建一个转换,以便从数据库源的描述性表在数据库目标上以规范化结构插入数据 请考虑以下示例 示例: 我正试图在数据库中的cascade中插入一个联系人记录。请注意,在源数据库中,我有以下联系人表: 我想转换成以下结构: 因此,主要思想是: 第一步:将手机插入Pentaho Geokettle级联插入,ETL规范化过程,pentaho,etl,cascade,kettle,geokettle,Pentaho,Etl,Cascade,Kettle,Geokettle,我是ETL流程的新手。目前,我正在更精确地使用geokettle使用kettle来进行ETL过程。我正在构建一个转换,以便从数据库源的描述性表在数据库目标上以规范化结构插入数据 请考虑以下示例 示例: 我正试图在数据库中的cascade中插入一个联系人记录。请注意,在源数据库中,我有以下联系人表: 我想转换成以下结构: 因此,主要思想是: 第一步:将手机插入CI\u Telephone表格,获取t\u id 第二步:与上一步并行,在CI\u地址上插入机构地址和国家,并获取a\u id 第三步
CI\u Telephone
表格,获取t\u id
第二步:与上一步并行,在CI\u地址
上插入机构地址
和国家
,并获取a\u id
第三步:之后,我需要将那些id(t\u id
和a\u id
)插入CI\u联系人
(如果还不存在)并获取c\u id
第四步:在CI责任方
上插入(如果尚未存在)机构名称=>组织名称
和名称
=>个人名称
,并插入引用CI联系人
表的正确外键(contactInfo)
这是我关于ETL过程的想法:
问题:
如何使用geokettle或kettle进行“级联”插入?(我不知道这个词是否正确)这种转变对你有意义吗
我找不到任何类似的例子。关于这个问题的任何建议都会很好。请分享您关于ETL过程的经验,以及如何从另一个未规范化的数据库规范化数据库。这些步骤可用于您指定的每个步骤 第一步:将手机插入CI_电话表并获取t_id
- 使用
维度查找/更新
步骤。它将返回您在
字段中指定时创建的密钥技术密钥
- 并行使用相同的步骤进行地址插入并获取Id
- 使用
步骤使用键将流加入。然后使用Merge join
如果不存在,则插入到CI_联系人的步骤插入/更新
- 使用与上面相同的步骤进行插入
维度查找/更新
和组合查找/更新
步骤适用于数据仓库,非常适合您的需求