使用informatica更新配置单元

yacmzcpb  于 2021-06-26  发布在  Hive
关注(0)|答案(3)|浏览(357)

我的目标是使用informatica etl工具的配置单元表。
配置单元早期版本不支持更新。因此,在这种情况下,我应该如何更新记录。是否可以使用hiveacid和事务特性进行配置单元更新特性。

kgsdhlau

kgsdhlau1#

你应该调查事件来源(https://msdn.microsoft.com/en-us/library/dn589792.aspx).
将数据库视为存储事件而不是项目。所以如果你有一些 counter 要在数据库中使用而不是更新的对象 counter 从0到1到2等等,只要在每次递增时插入一个新文档,然后取这些文档的总和/计数。

py49o6xq

py49o6xq2#

informatica确实支持informatica 9.6 hf3版本中的配置单元表更新,前提是这些表支持acid,有关更多信息,请参阅此链接(https://cwiki.apache.org/confluence/display/hive/hive+transactions),但我不想这么做,我宁愿分两步来做,
1) 确定仅存在于目标中的所有记录和仅存在于阶段数据中的记录2)合并这两个记录并将它们加载到临时表中。3) 最后将临时表重新命名为实际的目标表名
以上仅适用于scd类型1实现

zaq34kh6

zaq34kh63#

在处理配置单元时,更新不是最佳选择,创建中间临时表是更好的设计。更新现有配置单元表的步骤-
假设您正在处理table-tbl\u employee并希望更新几行。
创建新的中间表-tbl\u employee\u update,更新列数据的记录数完全相同。
创建一个新的中间表,其中包含来自原始表-tbl\u employee减去tbl\u employee\u update中已经存在的行的数据。将此表命名为tbl\u employee\u retained
工会对tbl\ U雇员\ U保留和tbl\ U雇员\ U更新,并命名为tbl\ U雇员\ U临时
现在用tbl\u employee\u temp替换tbl\u employee\u temp,首先确保tbl\u employee\u temp有记录和其他健康检查。

相关问题