问题标签 [amazon-redshift]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1028 浏览

sql - 优化 PostgreSql 查询以获取找到的记录总数和基于多个 group by 的分页所需的有限行数

我有这个查询,我试图根据给定的过滤器获取记录总数,并尝试在单个查询中获取分页所需的有限数量的数据。早些时候,我在一个两步过程中执行此操作,其中我首先根据 优化 PostgreSql 中为多个分组字段选择的行数计算记录数 ,然后根据页面大小在不同的查询中获得所需的行数和所需的偏移量

版本详情

谢谢

0 投票
1 回答
1150 浏览

amazon-web-services - 将大数据从 vertica 迁移到 redshift 的最佳方法是什么?

我们在 AWS 上托管了 vertica,数据库的总大小为 500GB。那么将数据从 vertica 迁移到 redshift 的最快方法是什么?

一种方法是
1. 将 vertica 数据导出到 S3
2. 将数据从 S3 加载到 redshift。

有没有更好的方法?

0 投票
1 回答
1712 浏览

postgresql - 我想将列转换为行

我在 redshift sql server 中有我的数据,例如:

我希望数据如下:

0 投票
1 回答
3127 浏览

amazon-redshift - RedShift Postgresql 是否支持 Bind 变量?

我正在通过 DBI 和DBD::PgPerl 中的模块访问 AWS RedShift,但我在使用 SQL 绑定变量时遇到了一些问题。我首先用sql语句(?代替变量)调用prepare,然后用需要映射的变量数组调用execute,?但它不起作用。它只是吐出“语法错误”。

我的理解是这个绑定变量需要驱动和数据库本身支持所以我不确定是驱动的问题还是RedShift的问题但是我不确定我的理解是否(绑定变量支持取决于驱动和基础数据库)是正确的。如果有人能澄清一下,那就太好了。

0 投票
2 回答
1473 浏览

boto - 使用 boto 查找最后一个快照

我已经阅读了关于“describe_cluster_snapshots”的解释......

http://docs.pythonboto.org/en/latest/ref/redshift.html#boto.redshift.layer1.RedshiftConnection.create_cluster

它有一个选项 start_time 和 end_time 但没有办法对其进行排序。如何使用 boto 获取最新快照的 id?

这是我尝试过的,但它似乎没有返回最后一个快照。

0 投票
4 回答
4524 浏览

mysql - 将数据从 MySql 同步到 Amazon RedShift

我们在 Amazon RedShift 中对庞大的数据集进行了一些聚合,而我们在 MySQL 中有一些相对少量的数据。对于 RedShift 中的一些连接,我们需要 MySQL 中的数据。将 MySql 数据同步到 RedShift 的最佳方法是什么?红移中是否有像 oracle 中的远程视图这样的东西?或者我应该以编程方式查询 MySql 并在 RedShift 中插入/更新?

0 投票
2 回答
6749 浏览

amazon-web-services - amazon redshift 中的并发查询性能

在 Amazon Redshift 上,并发查询会影响彼此的性能吗?

例如,假设有两个查询:一个在相对较小的表(~5m 行)上检索所有行,另一个在大表(~500m)行上。两个表都有相同的字段,都没有压缩。两个查询都检索各自表中的所有数据以计算其结果。没有连接或过滤器。两个查询都检索大约 2-4 个字段进行计算。

自行运行,小查询在大约 700 毫秒内返回。然而,当大查询正在运行时(这本身需要几分钟),小查询会在 4-6 秒内返回。

这是在具有单个 XL 节点的集群上观察到的行为。

这是预期的行为吗?是否有一个配置设置可以保证小查询的性能一致性,即使大查询正在运行?

0 投票
1 回答
3228 浏览

amazon-web-services - Amazon Redshift Equality 过滤器性能和排序键

Redshift 是否有效地(即二进制搜索)找到在列 A 上排序的表块,用于条件 A= 的查询?

举个例子,假设有一个表 T 有约 500m 行,约 50 个字段,在字段 A 上分布和排序。字段 A 具有高基数 - 所以有约 4.5 m 不同的 A 值,其中的行数完全相同T:每个值约 100 行。
假设一个带有单个 XL 节点的 redshift 集群。
字段 A 未压缩。正如 ANALYZE COMPRESSION 所建议的,所有其他字段都有某种形式的压缩。与未压缩的表相比,给出了 1:20 的比率。

给定一个简单的查询:

在 VACUUM 和 ANALYZE 之后给出以下解释计划:

此查询需要 39 秒才能完成。
主要问题是:这是红移的预期行为吗?

根据 选择最佳排序键的文档:
“如果您对一列进行频繁的范围过滤或相等过滤,请将该列指定为排序键。Redshift 可以跳过读取该列的整个数据块,因为它会跟踪最小值和存储在每个块上的最大列值,并且可以跳过不适用于谓词范围的块。 "

选择排序键中:
“另一个依赖于排序数据的优化是有效处理范围受限的谓词。Amazon Redshift 将列数据存储在 1 MB 磁盘块中。每个块的最小值和最大值作为元数据的一部分存储。如果一个范围受限的列是一个排序键,查询处理器能够使用最小值和最大值在表扫描期间快速跳过大量块。例如,如果一个表存储了按日期排序的 5 年数据,并且一个查询指定一个月的日期范围,最多可以排除98%的磁盘块,如果数据没有排序,则需要扫描更多的磁盘块(可能是全部)。有关这些优化的信息,请参阅选择分发键。 "

次要问题:
上述对排序键的跳过扫描的复杂性是多少?它是线性的( O(n) )还是二进制搜索的某种变体( O(logn) )?
如果对键进行排序 - 是否跳过唯一可用的优化?
这种“跳过”优化在解释计划中会是什么样子?
以上解释是否是此查询的最佳解释?
在这种情况下,预计红移最快的结果是什么?
vanilla ParAccel 在这个用例中是否有不同的行为?

0 投票
1 回答
3938 浏览

java - 通过 JDBC 从 AWS Redshift 检索插入的身份值

在使用 AWS Redshift 时,我注意到通过 JDBC 驱动程序从具有标识列的表中获取最后插入的 id 无法使用以下任一方法完成:

或者

如堆栈溢出条目中所述:

如何从最后插入的行中获取值?

上述方法不可用,因为 Redshift(截至 2013 年 10 月 17 日)是在 PostgreSQL 版本 8.0.2 上构建的。请参阅以下链接中的以下文档:

http://docs.aws.amazon.com/redshift/latest/dg/c_high_level_system_architecture.html

如果您打算将 Redshift 用作 RDBMS,那么阅读以下内容也是值得的:

http://docs.aws.amazon.com/redshift/latest/dg/c_redshift-and-postgres-sql.html

问题:

通过 PostgreSQL JDBC 驱动程序在 Redshift 中的自动增量/序列/标识列上检索最后插入的 id 的最佳策略是什么?

0 投票
4 回答
20260 浏览

amazon-web-services - 如何在 RedShift / ParAccel 中测量磁盘上的表空间

我在 RedShift 中有一张桌子。如何查看它使用了多少磁盘空间?