【问题标题】:Redshift query queue usage on batch inserts批量插入的 Redshift 查询队列使用情况
【发布时间】:2014-08-26 19:35:54
【问题描述】:

对于 Redshift 中的查询队列调度,DML 批量插入 JDBC 查询是否收到与选择类型查询相同的处理?特别是,是否会将多个批量插入分配给适当的 WLM 队列(由用户/用户组定义)并按照队列并发级别的指定同时运行?

实际上不可能通过 Redshift 控制台了解哪些查询在哪些队列上执行以及哪些正在并发执行,但我必须相信,通过我们的测试,批量插入不是并发执行,而是串行执行。谁能给我更多的见解?

谢谢。

【问题讨论】:

    标签: amazon-web-services concurrency insert


    【解决方案1】:

    批量插入无法在 Redshift 中并行运行。这正是 Redshift 网络研讨会、文档和文章宣传使用 COPY 命令的原因,该命令将 S3 中的数据集拉到一个分隔文件上,试图尽可能地推动它们并行。

    我已经尝试过几次来检查 INSERT 与 COPY 的性能,并且规模差异非常大。 COPY 命令非常棒,而且速度极快。

    我建议您更改数据加载逻辑以使用分隔文件 -> S3 -> Redshift 使用 COPY 而不是批量插入。

    摘自 AWS Redshift 文档 - [Using a COPY command to load data]

    我们强烈建议使用 COPY 命令加载大量 数据。使用单独的 INSERT 语句填充表可能是 慢得令人望而却步。或者,如果您的数据已经存在于 其他 Amazon Redshift 数据库表,使用 INSERT INTO ... SELECT 或 CREATE TABLE AS 以提高性能。有关信息,请参阅插入或 将表创建为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 2023-01-14
      • 1970-01-01
      相关资源
      最近更新 更多