sql – 添加“触发器”后数据加载

我们有一个API实时向我们的数据仓库提供数据.

到目前为止,我们用PII排除了字段 – 但是我们希望开始将电子邮件和名称作为Feed的一部分.

请注意,添加这两个字段后,如果名为partner的其他字段不为null(我们无法通过API设置,因此必须在数据加载后执行此操作),我们只能填充电子邮件和名称,因为合同义务.

因此,如果partner为null,则应将电子邮件和名称覆盖为null.
如果partner不为null:电子邮件和名称应保持原样(由API提供).

你能帮忙设法为这个Redshift表设置一个合适的“触发器”吗?即.让API按原样加载,并在每行加载后 – 如果合作伙伴为空 – 使电子邮件和地址也为空.谢谢!

最佳答案 不幸的是,redshift中没有触发系统.

如果您不能在发送方或针脚内进行转换,并且数据是安全的很重要,我会这样做.

>设置针脚以将数据写入红移“分段”架构,其中
已锁定安全性,以便普通用户无法查看数据.
>设置一组redshift etl脚本以定期运行(使用crontab,airflow或类似程序来管理调度),
当新数据到达“staging”模式时获取新数据
填充“报告”架构.这个时间应该是一致的
到针脚运行的时间.这个sql将进行更改
你需要基于“伙伴”.

还有另一种选择,即将postgres实例的针迹指向目标,使用postgres触发器,然后使用AWS DMS将该数据连续复制到redshift.这会很好,但可能会花费更多.

点赞