amazon-web-services - Redshift Data API 查询语句大小限制为 100 KB
问题描述
问题:我们的 Redshift Java SDK 查询返回 ValidationException:software.amazon.awssdk.services.redshiftdata.model.ValidationException: Cannot process query string larger than 100kB
详情:
- 我们的系统可能会生成许多通过 SQL UNION 连接在一起的 SQL SELECT,这些 SQL SELECT 具有 UNION 级别的排序规则——这就是我们达到 100kB 查询大小限制的原因。
- 我们知道 SQL 查询超过 100 KB 会因糟糕的查询设计而异味,我们将减少这些查询的大小。
- 在对业务逻辑应用更改和约束之前,我们需要更好地理解这个 Redshift 基础架构限制。
- 通过连接到 Redshift 引擎的标准 SQL 客户端执行相同的 SQL 查询时,我没有遇到任何类似的错误。
- 由于各种原因,我们更喜欢继续使用 SDK(而不是 JDBC、CLI)。
问题:查询大小 100 KB 软限制约束是否可以在我们的集群/SDK 中配置,还是在 Amazon 端设置硬限制?
解决方案
Redshift 的查询大小限制为 16MB - https://docs.aws.amazon.com/redshift/latest/dg/c_redshift-sql.html
我认为您需要专注于 SDK。