如何解决没有日期和主键的表
我有9M条记录。我们需要执行以下操作:-
每天我们收到900万条记录的整个文件,文件大小为150GB
它被截断并加载到Snowflake中。每天删除全部9B记录并加载
我们只希望将增量文件加载发送到Snowflake。意思是:
例如,在900万条记录中,我们只会有50万条记录的更新(10万条插入,0.3条删除和0.2条更新)。我们将如何比较文件并仅提取增量文件并加载到雪花。如何在AWS本机工具中以经济高效的方式进行此操作并加载到S3。
P.s的数据没有任何日期列。这是一个很古老的概念,写于2012年。我们需要对此进行优化。文件格式为固定宽度。附加示例RAW数据。
Sample Data:
https://paste.ubuntu.com/p/dPpDx7VZ5g/
简而言之,我只想将“插入”,“更新”和“删除”提取到文件中。您如何对这种最佳且具有成本效益的方式进行分类。
解决方法
您的标记和问题内容不匹配,但是我猜您正在尝试将数据从Oracle加载到Snowflake。您想从Oracle进行增量加载,但是表中没有增量键来标识增量行。您有两种选择。
- 与数据所有者合作,并努力确定增量密钥。必须有一个。人们有时懒于付出这一努力。这将是最佳选择
- 如果不能,请寻找像Golden Gate这样的CDC(更改数据捕获)解决方案
在DataStage中,CDC阶段是默认设置。
结合CDC阶段和Transformer阶段,是识别新行,更改的行和要删除的行的最佳方法。
,您需要确定使行唯一的列,不建议对所有列进行CDC,如果在CDC阶段添加更多更改列,则CDC阶段的DataStage作业会消耗更多资源。
与您的BA一起识别使数据中的行唯一的列。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。