【问题标题】:Is it possible to transfer data from Redshift to Elasticsearch?是否可以将数据从 Redshift 传输到 Elasticsearch?
【发布时间】:2016-02-07 04:17:03
【问题描述】:

我正在研究与 Amazon elasticsearch 服务相关的东西。为此,我需要从 Amazon Redshift 获取数据。要传输的数据很大,即 100 GB。有什么方法可以直接从 Redshift 获取数据,或者是它是一个像 Redshift->s3->elasticsearch 这样的两步过程?

【问题讨论】:

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


    【解决方案1】:
    1. 不要 gzip 卸载的数据。
    2. 在弹性上使用散装负载
    3. 在批量加载中使用大量记录 (>5000) – 更少的大批量 负载比更小的负载好。
    4. 使用 AWS 弹性搜索时,存在达到批量队列大小限制的风险。
    5. 在 lambda 中处理单个文件,然后使用事件递归调​​用 lambda 函数
    6. 在递归之前等待几秒钟 –> setTimeout。等待时确保您没有闲置 30 秒,因为您的 lambda 将停止。
    7. 不要使用 s3 对象创建来触发 lambda — 你最终会得到 同时调用多个 lambda 函数。
    8. 不要费心尝试将 kinesis 放在中间 - 卸载您的数据 进入 kinesis 几乎肯定会达到 kinesis 的负载限制。
    9. 使用类似的东西监控弹性搜索批量队列大小 这个:
    curl https://%ES-SERVER:PORT%/_nodes/stats/thread_pool |jq
        ‘.nodes |to_entries[].value.thread_pool.bulk’
    

    【讨论】:

    【解决方案2】:

    至少在理论上,我看到了将数据从 Redshift 传输到 Elasticsearch 的 2 种可能方法:

    1. Lo​​gstash,使用JDBC input plugin
    2. elasticsearch-jdbc

    【讨论】:

    • 上述方法是否有实际限制?
    【解决方案3】:

    看起来没有用于将数据从 Redshift 推送到 elasticsearch 的直接数据传输管道。另一种方法是先将数据转储到 S3 中,然后推送到 elasticsearch。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      • 2016-08-22
      • 2022-09-28
      • 2015-01-03
      • 1970-01-01
      相关资源
      最近更新 更多