【问题标题】:Microbatch loading into Redshift - Some practical questions微批量加载到 Redshift - 一些实际问题
【发布时间】:2016-03-09 12:20:15
【问题描述】:

我们正在设计用于将数据微批量加载到 redshift 中的工作流程。基本上,我们通过 API 收到一系列请求。 API 将队列中的内容泵入稍后处理的队列中,每个项目都是 ETLd,最后保存到 S3 中的准备加载文件中。所以步骤是:

  1. 客户端向 API 发送请求。
  2. API 提取并转换为 JSON
  3. API 将 JSON 放入队列中
  4. 消费者从队列中取货
  5. 根据内容,它会在相关文件中写入请求(表示要加载内容的表)

我的问题是关于这个流程的协调。我们在什么时候将复制命令从 S3 触发到 Redshift?我的意思是这是一个持续的数据流,每个数据批次都是一分钟宽。是否有任何 AWS 工具可以为我们做这件事,或者我们应该自己编写。

谢谢

【问题讨论】:

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


    【解决方案1】:

    AWS Lambda 就是为这个用例而设计的。

    或者,如果您的队列是 Kafka 队列,您可能会发现 secor (https://github.com/pinterest/secor) 很有用。它将队列数据转储到 s3 中,然后可以复制到 Redshirt。

    如果您选择安全路线,Spotify 的 Luigi 或 AWS Data Pipeline 都是编排复制命令的好选择。

    【讨论】:

      【解决方案2】:

      在过去,我已经写过几次类似的逻辑,这不是一件容易的事。那里有很多复杂性。您可以将这些文章用作architecture 的参考。

      如今,您可能不想自己实现,而是查看Amazon Kinesis Firehose。它会为您处理 S3 逻辑和写入 Redshift。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多