【问题标题】:How to copy data in bulk from Kinesis -> Redshift如何从 Kinesis -> Redshift 批量复制数据
【发布时间】:2015-01-19 21:03:05
【问题描述】:

当我读到 AWS 数据管道时,这个想法立即产生了 - 为 kinesis 生成统计数据并在管道中创建一个作业,该作业将使用来自 kinesis 的数据并每小时将其复制到红移。一口气搞定。

但似乎管道中没有可以消耗 kinesis 的节点。所以现在我有两个可能的行动计划:

  1. 创建实例,其中 Kinesis 的数据将被消耗并按小时发送到 S3。管道将从那里复制到 Redshift。
  2. 从 Kinesis 中使用并在现场直接生成 COPY 到 Redshift。

我该怎么办?没有自定义代码,是否无法仅使用 AWS 服务将 Kinesis 连接到 redshift?

【问题讨论】:

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


    【解决方案1】:

    这已经为您完成了! 如果您使用 Kinesis 连接器库,则有一个用于 Redshift 的内置连接器

    https://github.com/awslabs/amazon-kinesis-connectors

    根据您必须处理的逻辑,连接器可以很容易实现。

    【讨论】:

    • 我希望创建某种无用户代码的机制,但目前似乎不可能。我开始认为这是不可行的,因为自然运动 - 它只是一个队列,类固醇上的 apache kafka。我会接受答案,因为这是唯一可能的答案。谢谢!
    • 这个从 Kinesis -> Redshift 每小时执行批量复制的自定义连接器是否会上传到 AWS?
    • 不确定我是否理解您的问题,但是如果您使用从 Kinesis 到 Redshift 的连接器,那么是的,所有数据都存储在 AWS Redshift 数据仓库中。 “每小时”部分是可配置的。
    【解决方案2】:

    现在可以通过名为Kinesis Firehose 的新托管服务在没有用户代码的情况下执行此操作。它管理所需的缓冲间隔、临时上传到 s3、上传到 Redshift、错误处理和自动吞吐量管理。

    【讨论】:

    • 这似乎正是我当时正在寻找的。谢谢。
    【解决方案3】:

    您可以使用 InstantStack 创建和编排完整的管道,以从 Kinesis 读取数据,对其进行转换并将其推送到任何 Redshift 或 S3。

    【讨论】:

      猜你喜欢
      • 2014-10-16
      • 1970-01-01
      • 2019-11-13
      • 2016-03-27
      • 2016-04-21
      • 1970-01-01
      • 2021-04-18
      • 1970-01-01
      • 2017-07-20
      相关资源
      最近更新 更多