【问题标题】:aws glue incremental load relational databaseaws 胶水增量加载关系数据库
【发布时间】:2019-01-23 13:00:43
【问题描述】:

我正在使用 AWS Glue ETL 将数据从 Amazon RDS(Aurora 数据库)加载到 Redshift。但我不知道如何进行增量加载(upsert)?有没有办法在从源数据库读取数据时创建过滤器/参数以仅将新的/更改的记录加载到 Redshift?

我看到 S3 源可与 AWS 书签一起使用,但对于关系数据库,有什么选择。非常感谢您的建议!谢谢!

【问题讨论】:

    标签: aws-glue


    【解决方案1】:

    我已将 mysql 连接器用作上传到 S3 的外部 zip 文件,并在我的 AWS Glue python 中使用以嵌入 Mysql 查询并运行 INSERT INTO 表...在 DUPLICATE KEY 上对 RDS Aurora 进行 upsert 操作。如果您使用的是 Mysql,您可以按照相同的方式根据 where 子句过滤结果集。请参考此链接:

    Error while using INSERT INTO table ON DUPLICATE KEY, using a for loop array

    【讨论】:

    • 您好 Yuva,感谢您的回复!我正在尝试使用 AWS Glue 将数据从 Aurora 数据库加载到 Redshift。由于 Redshift 不强制执行约束,因此我无法使用您提到的 SQL。我正在寻找一种过滤数据的方法(仅从 Aurora 数据库中获取昨天的增量数据)并使用 AWS Glue 中的 SPARK python 代码将其加载到 Redshift 临时表。如果您有任何建议,请告诉我。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多