问题标签 [paraccel]

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 回答
12076 浏览

sql - 使用 Amazon RedShift 透视表

我在 Amazon RedShift 中有几个表,它们遵循几个维度列和一对指标名称/值列的模式。

我正在寻找一种将数据展开/旋转为每个唯一维度集一行的形式的好方法,例如:

生成执行这种展开的查询的好模式是什么?

Amazon RedShift 基于 ParAccel 并支持 PostgreSQL 8.0.2 ,它没有crosstab、或.unnestpivotunpivot

0 投票
2 回答
10238 浏览

sql - Amazon Redshift/PostgreSQL 中的高效 GROUP BY 表达式

在分析处理中,通常需要将“不重要”的数据组折叠到结果表中的单行中。一种方法是通过 CASE 表达式对不重要的组进行 GROUP BY,其中不重要的组通过 CASE 表达式返回单个值(例如,组为 NULL)合并为单个行。这个问题是关于在 Amazon Redshift 中执行此分组的有效方法,它基于 ParAccel:在功能方面接近 PosgreSQL 8.0。

例如,考虑一个表中的 GROUP BY,type其中url每一行都是一个 URL 访问。目标是执行聚合,以便为 URL 访问计数超过某个阈值的每个 (type, url) 对发出一行,并为访问的所有(type, url) 对发出一个 (type, NULL) 行计数低于该阈值。结果表中的其余列将具有基于此分组的 SUM/COUNT 聚合。

例如下面的数据

应生成以下结果表,阈值为 10,000

概括:

Amazon Redshift 有一定的子查询相关限制,需要小心处理。下面的 Gordon Linoff 答案(已接受的答案)显示了如何使用双重聚合执行 GROUP BY a CASE 表达式,并在结果列和外部 GROUP BY 子句中复制表达式。

进一步的测试表明,双重聚合可以“展开”成一个 UNION ALL 独立查询,涉及每个独立的 CASE 表达式。在这个具有大约 200M 行的样本数据集的特殊情况下,这种方法的执行速度始终快了大约 30%。但是,该结果是特定于模式和数据的。

这表明了在 Amazon Redshift 中实施和优化任意脱节分组和汇总的两种通用模式。如果性能对您很重要,请对两者进行基准测试。

0 投票
1 回答
657 浏览

sql - 替代 GROUP BY 列中对相关子查询结果的引用

这个问题是由于 Amazon Redshift(基于 Paraccel 的列式分析数据库)的限制而出现的。不支持的功能之一是 GROUP BY 列中对相关子查询结果的引用

例如,以下语句将生成 Redshift 错误,因为 GROUP BY 使用list由子查询生成的。

以下来自Gordon Linoff的示例是另一个不受支持的用例(对生成此一般问题的特定问题的回答)。

这个问题的目的是找到一个通用模式来克服这个特定的 Amazon Redshift 相关子查询限制。有哪些替代 SQL 模式可以实现与使用相关子查询中的值相同的结果?

0 投票
2 回答
445 浏览

postgresql - Postgres 中的动态 SQL

我使用 Postgres 编写了一个简单的函数,但不断得到以下信息:

错误:“$2”处或附近的语法错误。

底层数据库是 ParAccel,我对 Postgres 和 ParAccel 都是新手。我使用 TOAD 数据点作为 IDE:

我正在使用以下示例命令来执行函数:

谁能让我知道我在哪里搞砸了?

提前致谢。

0 投票
1 回答
184 浏览

postgresql - 如何计算几个日期之间的记录数

我有一个看起来像的表:

等等

我需要计算每条记录的日期和lookback_date之间的名称计数

编辑:我需要一个看起来像这样的结果:

输入日期与此语句一起获取

0 投票
1 回答
1751 浏览

postgresql - 不存在行的 Redshift SELECT * 性能与 COUNT(*)

当我运行 2 个看似相似的查询时,我对 Redshift 正在做什么感到困惑。两者都不应该返回结果(查询不存在的配置文件)。具体来说:

相对

鉴于表是按project_id那时排序的,id我会认为这只是一个键查找。SELECT COUNT(*) ...返回 0 的结果是 0.2 秒,这与我预期的差不多。SELECT * ...返回 0 结果为 37.75 秒。对于相同的结果,这是一个巨大的差异,我不明白为什么?

如果它有助于架构如下:

解释自SELECT COUNT(*) ...

解释自SELECT * ...

为什么非计数要慢得多?Redshift 肯定知道该行不存在吗?

0 投票
1 回答
826 浏览

ssas - SSAS 表格模式处理因“很多行”而失败

我有一个 SSAS 表格模式立方体,它使用 ODBC 从 Actian Matrix 数据库中读取数据。当我使用具有 100 万行的数据集时,该项目处理良好,但当我尝试使用更大的数据集(3 亿行)时,该过程运行大约 15 分钟并失败并显示以下消息:

该消息说数据库不存在,但它没有意义,因为它在第一种情况下工作得非常好(不同之处只是一个“where子句”来限制行数)

我正在使用具有 96 Gb FREE 运行的服务器,并且我可以看到在“处理”进程运行时消耗的所有内存。当它全部耗尽时,它会运行几秒钟并失败。另外,我知道导出到 csv 文件的 3 亿行数据集的原始格式为 36 Gb,因此它应该可以完全装入内存而无需任何压缩。

我还可以保证查询在源数据库上本身可以正常工作,因此“应用户请求取消查询(25459)”消息也没有多大意义。

有人对可能发生的事情有任何想法吗?

0 投票
5 回答
15451 浏览

amazon-s3 - S3 -> Redshift 无法处理 UTF8

我们在 S3 中有一个文件,它通过COPY命令加载到 Redshift。导入失败,因为一个VARCHAR(20)值包含一个在复制命令期间Ä被翻译的值..,现在对于 20 个字符来说太长了。

我已经验证了 S3 中的数据是正确的,但是COPY在导入过程中命令不理解 UTF-8 字符。有没有人找到解决方案?

0 投票
2 回答
278 浏览

python - 如何使用 UNIX shell 脚本并行运行一个进程多次?

我正在研究其中一个 MPP 数据库,并希望在 python 或 UNIX shell 脚本中使用多个会话运行单个 SQL 查询。有人可以分享您对在 python/UNIX 实用程序中生成 SQL 的想法。任何输入将不胜感激。谢谢你。

0 投票
1 回答
269 浏览

sql - 获取日期序列中所有缺失的日期

我试图在升序的日期序列中获取所有缺失的日期。如何在不使用任何函数或 udfs 的情况下使用简单的 sql 来做到这一点。

输出 :-

我试过什么?