Amazon redshift AWS胶水:红移向上插入

Amazon redshift AWS胶水:红移向上插入,amazon-redshift,aws-glue,Amazon Redshift,Aws Glue,在做了一些研究之后,我发现由于红移不支持合并/升级,一些人正在使用暂存表来更新/插入记录。由于Redshift也不支持程序(触发器等),有没有人对如何自动化此过程(lambda、数据管道等)提出建议?我认为没有一个正确的答案。大体上,我知道有两种基本的方法 在加载数据时执行的ETL中的显式步骤(使用) 周期性地处理升级的批处理作业 我认为,选择1可能是最好的办法。AWS数据管道通过将insertMode字段设置为OVERWRITE\u EXISTING来支持这一点 在我的工作中,我们已经在数据管

在做了一些研究之后,我发现由于红移不支持合并/升级,一些人正在使用暂存表来更新/插入记录。由于Redshift也不支持程序(触发器等),有没有人对如何自动化此过程(lambda、数据管道等)提出建议?

我认为没有一个正确的答案。大体上,我知道有两种基本的方法

  • 在加载数据时执行的ETL中的显式步骤(使用)
  • 周期性地处理升级的批处理作业
  • 我认为,选择1可能是最好的办法。AWS数据管道通过将
    insertMode
    字段设置为
    OVERWRITE\u EXISTING
    来支持这一点

    在我的工作中,我们已经在数据管道中手动完成了这项工作,方法是在同一个sql事务中对临时表和upsert运行load命令


    另一种方法(选项2)是让ETL只是将新数据附加到临时表(您可以使用AWS Firehose进行类似的操作),然后将其与计划的cronjob一起使用,以按计划更新目标表。这样做的好处是ETL更简单,但cronjob会成为另一个失败点

    谢谢你的反馈,我很感激。目前,我有一个lambda处理Redshift upsert,它响应上传到S3存储桶的数据。由于每天只有几项活动,目前看来效果不错。我肯定也会研究数据管道。干杯