【问题标题】:AWS Redshift ETL ProcessAWS Redshift ETL 流程
【发布时间】:2017-11-05 19:45:38
【问题描述】:

我正在为我们的数据仓库调查 redshift,并且正在尝试考虑如何构建解决方案。

我有一个 Amazon Kinesis Firehose 实例作为写入我的 Redshift 数据库的传输流,一切正常。

现在我的问题是如何自动创建维度和事实表。

我可以在传输流中使用 Lambda 函数来写入事实表并更新维度吗?

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda amazon-redshift


    【解决方案1】:

    AWS Lambda 在 Amazon Kinesis Firehose 上的数据转换功能纯粹是为了修改或排除流数据。不能用于创建其他表。

    如果您希望创建维度表和事实表,或以其他方式执行 ETL,则需要在外部触发它,例如让计划任务在您的 Amazon Redshift 实例上运行 SQL 命令。此任务将通过 JDBC/ODBC 连接以运行命令。

    【讨论】:

    • 你能详细说明你的答案吗?比如如何创建计划任务?
    • 您必须自己创建代码和计划的触发器,无论是在您自己的计算机上还是在 Amazon EC2 实例上。这不是 Kinesis 的功能。 (这可能是即将推出的 Amazon Glue 产品的一项功能。)或者,您可以在 Amazon CloudWatch Events 中创建一个调用您编写的 AWS Lambda 函数的计划。
    • 不,为什么我不能把它放在这里? dropbox.com/s/pvtcpny4i01bxam/…
    • 我的理解是 Kinesis Firehose 触发的 Lambda 函数可以操作传入的数据,可以选择修改或删除记录,但它输出的数据然后存储在 Redshift 中。它不能用于创建/修改其他表——它只是转换进来的数据流。
    • 那么您的建议是在节点 js/python 中编写一个 lambda 函数来执行转换并通过云手表触发?
    猜你喜欢
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    相关资源
    最近更新 更多