标签: greenplum

LEFt JOIN LATERAL 显示 SELECT 错误

我正在尝试运行以下查询:

SELECT
tc.ID_NUMBER AS AFC_RPP_Number,
hc.BUSINESS AS Business,
hc.DIRECTOR AS Director,
tc.REASON_FOR_REVISION AS Description_of_Change
FROM alo_gg.AWS_PIM tc
left join lateral(
    select BUSINESS,DIRECTOR                
    FROM alo_ggg.tracker
    WHERE START_DATE <= tc.DATE AND  SO = tc.SO 
    ORDER BY START_DATE DESC 
    LIMIT 1
) hc;
Run Code Online (Sandbox Code Playgroud)

上面的查询显示错误:

ERROR:  syntax error at or near "SELECT"
left join lateral (SELECT BUSINESS,DIRECTOR...
Run Code Online (Sandbox Code Playgroud)

如果我单独运行子查询,它会给我一个结果,但lateral它会给我一个错误。

sql greenplum lateral-join

6
推荐指数
1
解决办法
6990
查看次数

为什么像Vertica/InfoBright/GreenPlum这样的面向列的数据库会对Hadoop大做文章?

为Hadoop集群提供数据并使用该集群将数据输入Vertica/InfoBright数据仓库有什么意义?

所有这些供应商都在说"我们可以与Hadoop联系",但我不明白这是什么意思.在Hadoop中存储并转移到InfoBright有什么兴趣?为什么不将应用程序直接存储在Infobright/Vertica DW中?

谢谢 !

hadoop vertica greenplum infobright

5
推荐指数
2
解决办法
6066
查看次数

用于财务分析的数据存储

我正在建立系统来分析有关证券交易价格的大量金融数据.这方面的一个重大挑战是确定数据将使用哪种存储方法,因为数据将在10的TB级中.将对数据进行许多查询,例如取平均值,计算标准偏差以及按多个列过滤的总和,例如价格,时间,数量等.连接语句不是必需的,但是很高兴.

现在,我正在寻找infobright社区版,monetdb和greenplum社区版用于评估目的.到目前为止,它们看起来很棒,但是对于更高级的功能,某些版本中不提供某些功能(使用多个服务器,插入/更新语句等).

您将在这种情况下使用哪些解决方案,并为替代方案提供哪些好处?具有成本效益是一个重要的优点.如果我必须支付数据仓库解决方案,我会,但我宁愿避免它,并尽可能采用开源/社区版路线.

database data-warehouse monetdb greenplum infobright

5
推荐指数
1
解决办法
1165
查看次数

如何增加greenplum并发性和每秒查询次数

我们有一个相当大的Greenplum v4.3集群.18个主机,每个主机有3个段节点.每个主机有大约40个内核和60G内存.

我们的表是30列宽,有1亿行.当没有并发压力时,我们正在测试的查询有3-10秒的响应时间.随着我们增加并行触发的查询数量,延迟从平均3秒减少到50毫秒,如预期的那样.

但是我们发现无论我们并行发射多少个查询,我们只有非常低的QPS(每秒查询数),几乎只有3-5个查询/秒.我们设置了max_memory = 60G,memory_limit = 800MB和active_statments = 100,希望CPU和内存可以被高度利用,但它们仍然使用不足,比如30%-40%.

我有一种强烈的感觉,我们试图并行地支持集群,希望能够充分利用CPU和内存利用率.但它不像我们预期的那样有效.设置有什么问题吗?还是还有其他我不知道的事情?

greenplum

5
推荐指数
1
解决办法
380
查看次数

最小和最大日期的generate_series

这是我想在 Greenplum 数据库(如 postgresql 8.2.15)中完成的非常基本的查询。

表 t 中的字段 create_date 是不带时区的时间戳。谁能指出我正确的查询来完成此任务?谢谢。

select * from generate_series ((select EXTRACT (YEAR FROM MIN(t1.create_date)) from t1),(select EXTRACT (YEAR FROM MAX(t1.create_date)) from t1))
Run Code Online (Sandbox Code Playgroud)

它的投掷错误

ERROR:  function generate_series(double precision, double precision) does not exist
Run Code Online (Sandbox Code Playgroud)

第 1 行: select * fromgenerate_series ((select EXTRACT (YEAR FROM MI... ^ 提示:没有函数与给定名称和参数类型匹配。您可能需要添加显式类型转换。

postgresql greenplum

3
推荐指数
1
解决办法
3225
查看次数

用于TBs结构化数据的Greenplum,Pivotal HD + Spark或HAWQ?

我在Greenplum DB中有TB结构化数据.我需要在我的数据上运行基本上是MapReduce的作业.

我发现自己至少重新实现了MapReduce的功能,以便这些数据适合内存(以流式方式).

然后我决定到别处寻找更完整的解决方案.

我看了Pivotal HD + Spark,因为我使用Scala和Spark基准测试是令人惊叹的因素.但我相信这背后的数据存储HDFS的效率将低于Greenplum.(请注意"我相信".我很高兴知道我错了,但请提供一些证据.)

因此,为了与Greenplum存储层保持一致,我查看了Pivotal的HAWQ,它基本上是在Greenplum上使用SQL的Hadoop.

这种方法有很多功能丢失.主要是使用Spark.

或者是否更好地使用内置的Greenplum功能?

所以我处在不知道哪条路最好的十字路口.我想要很好地处理适合关系数据库模型的TB数据,我希望Spark和MapReduce的好处.

我要求太多了吗?

hadoop scala greenplum apache-spark hawq

3
推荐指数
1
解决办法
2594
查看次数

Greenplum 中的 DISTRIBUTE BY 通知

假设我在 psql 上运行以下查询:

> select a.c1, b.c2 into temp_table from db.A as a inner join db.B as b 
> on a.x = b.x limit 10;
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

注意:表没有“DISTRIBUTED BY”子句——使用名为“c1”的列作为该表的Greenplum数据库数据分布键。
提示:“DISTRIBUTED BY”子句确定数据的分布。确保选择的列是最佳数据分布键,以最大限度地减少偏差。

  1. 什么是DISTRIBUTED BY柱?
  2. 存储在哪里temp_table?它存储在我的客户端还是服务器上?

sql greenplum

2
推荐指数
1
解决办法
3万
查看次数

如何访问Postgresql中的记录元素?

PostgreSQL v8.2(Greenplum)

CREATE OR REPLACE FUNCTION util.retrec(OUT p1 date, OUT p2 boolean)
RETURNS RECORD
AS
$BODY$
DECLARE
BEGIN
 p1 := current_date;
 p2 := true;
 RETURN;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;

SELECT util.retrec();
Run Code Online (Sandbox Code Playgroud)

这将返回(2016-03-24,t)-我该如何分别提取这两个值?

我可以与之交互进行操作,SELECT p1,p2 FROM util.retrec();但是如何在过程中将两个值分配给两个变量?我尝试了这个:

SELECT util.retrec() INTO r1, r2;
Run Code Online (Sandbox Code Playgroud)

运气不好,这试图将记录分配到r1中。

postgresql greenplum

2
推荐指数
1
解决办法
1050
查看次数

数字字段溢出异常

我应该如何重写我的插入语句?

CREATE TABLE test_table ( 
    rate decimal(16,8)
);

INSERT INTO test_table VALUES (round(3884.90000000 / 0.00003696, 8));
Run Code Online (Sandbox Code Playgroud)

例外:

ERROR: numeric field overflow
SQL state: 22003
Detail: A field with precision 16, scale 8 must round to an absolute value less than 10^8. Rounded overflowing value: 105110930.73593074
Run Code Online (Sandbox Code Playgroud)

数据库:Greenplum Database 4.3.8.0 build 1(基于PostgreSQL 8.2.15)

sqldatatypes greenplum

2
推荐指数
1
解决办法
2230
查看次数

查找表中所有数值变量的均值、标准差、百分位数

我在表中有 30 个数字数字列。我想为表中的所有列找到平均值、标准和百分位数。我不想像下面那样手动编写所有列名

select date,
      avg(col1), stddev(col1),
      avg(col2), stddev(col2), 
from table name group by date;
Run Code Online (Sandbox Code Playgroud)

有什么方法可以一次找到所有列的均值、标准差和百分位数。

sql postgresql stored-procedures plpgsql greenplum

2
推荐指数
1
解决办法
9177
查看次数