0

我的查询中有一个交叉连接。这是修改后的查询:

create table abc.abcd as with temp1 as 
(select
1 as bid, *
from
abc.data_1 ), temp2 as (select
1 as aid, *
from
abc.data_2 b), temp3 as ( select
a.*,
b.*
from temp2 a
join
temp1 b on a.aid=b.bid) 
select * from temp3

在redshift查询历史中查询成功完成但查询的状态还在sqlworkbench/J中运行。

status_complete

sqlworkbench/J 状态正在运行

在查询新创建的表时,我收到一个对象不存在的错误。我正在使用 4 节点 dc2.large 集群。这里可能出了什么问题?

更新 1:如果我正在运行相同的查询但使用限制子句,则查询返回输出就好了,并且正在创建表。

这是使用限制子句的查询:

create table abc.abcd as with temp1 as 
(select
1 as bid, *
from
abc.data_1 ), temp2 as (select
1 as aid, *
from
abc.data_2 b), temp3 as ( select
a.*,
b.*
from temp2 a
join
temp1 b on a.aid=b.bid) 
select * from temp3 limit 200
4

1 回答 1

1

我创建了一个 EC2 实例并在其上安装了 sqlworkbench/J 并运行了相同的查询,它按预期工作。

我怀疑这是网络问题的原因。查询已提交到集群,但由于网络问题,“自动提交”没有从 sqlworkbench/J 客户端发送到集群。当我在 EC2 实例中运行查询时,甚至我的 RDP 连接也多次中断。因此,似乎是网络问题导致了异常行为。

于 2019-02-06T07:03:51.333 回答