没有自然键的 S3 存储桶的增量更新
我需要设计一个 etl 流程。OLTP 系统通过文件共享客户、产品、活动和销售记录。我想将这些文件增量传输到 Aws S3 存储桶中。
假设我想将客户文件传输到相关的 AWS S3 存储桶中。客户文件包含客户 ID。此字段是 PII(个人身份信息)。
在批量(初始)加载阶段,首先,我将生成一个新字段 CUSTOMER_SK,它映射到客户 ID。然后,我需要用 customer_sk 替换客户 ID。
例如。我的客户 ID 是 9887345 ,我生成了一个数字:93453423 我需要将客户 ID 值 9887345 替换为新值:93453423 最后,我可以将文件复制到 AWS S3 存储桶。我用 customer_sk 替换了客户 ID。因此 AWS S3 存储桶不包含 PII 数据。
在日常的 etl 加载中,如果客户是新客户,那么我可以将其插入 AWS S3。如果客户是现有客户,例如。客户更改了他/她的出生年份字段。他/她可能更正了出生年份字段,因此我需要更新 AWS S3 存储桶中的相关记录。但是 AWS S3 存储桶不包括 customer_id 字段。OLTP 系统不知道 customer_sk 字段。所以我需要用 customer_sk 值交换 customer_id 值。现在,我可以将文件复制到 AWS S3。
由于法规的原因,安全部门不允许我们向 Aws 环境中的业务部门提供 PII(个人身份信息)数据。
我们可以在日常等工作中传输整个文件。文件传输需要时间,因此将所有历史数据传输到 S3 是不可行的。
我该如何实现这个场景?我们是否需要在本地和 AWS S3 上运行 etl 作业?我想在 AWS 上构建等流。我只需要在本地交换 id 字段。我不想在前提下构建 etl 工作,只是为了交换字段。因为我不想在两个系统中都保持工作。
提前致谢