Amazon redshift DBT模型悬挂

Amazon redshift DBT模型悬挂,amazon-redshift,dbt,Amazon Redshift,Dbt,我使用macOS,在大桌子上进行完全刷新时遇到问题。在运行期间,它看起来好像挂起了,并且没有在红移中运行查询。它不会发生在较小的表中,如果我运行一个增量表,它也不会发生。这个表过去很小,只要我指定了表,我就可以运行完全刷新。现在它更大了,我似乎遇到了这个问题。此模型依赖于6个表。就像命令没有被发送一样。有什么建议吗? 没有错误,因为它只是不运行。其他在windows和macos上运行此功能的团队成员希望它能在10分钟内完成。目前是30分钟,但我让它停留的时间要长得多。 我的命令是 dbt运行——

我使用macOS,在大桌子上进行完全刷新时遇到问题。在运行期间,它看起来好像挂起了,并且没有在红移中运行查询。它不会发生在较小的表中,如果我运行一个增量表,它也不会发生。这个表过去很小,只要我指定了表,我就可以运行完全刷新。现在它更大了,我似乎遇到了这个问题。此模型依赖于6个表。就像命令没有被发送一样。有什么建议吗? 没有错误,因为它只是不运行。其他在windows和macos上运行此功能的团队成员希望它能在10分钟内完成。目前是30分钟,但我让它停留的时间要长得多。 我的命令是
dbt运行——模型+fct\u我的模型——完全刷新——vars“运行日期\u开始:2020-06-01”


谢谢

RedShift UI通常只显示长时间运行的查询。我遇到了类似的问题,它们是由一些表上的锁引起的——在我们的例子中是由未提交的显式事务(
BEGIN
without
COMMIT
ROLLBACK
)引起的

运行此查询以查看当前事务及其锁:

select a.txn_owner, a.txn_db, a.xid, a.pid, a.txn_start, a.lock_mode, a.relation as table_id,nvl(trim(c."name"),d.relname) as tablename, a.granted,b.pid as blocking_pid ,datediff(s,a.txn_start,getdate())/86400||' days '||datediff(s,a.txn_start,getdate())%86400/3600||' hrs '||datediff(s,a.txn_start,getdate())%3600/60||' mins '||datediff(s,a.txn_start,getdate())%60||' secs' as txn_duration
from svv_transactions a 
left join (select pid,relation,granted from pg_locks group by 1,2,3) b 
on a.relation=b.relation and a.granted='f' and b.granted='t' 
left join (select * from stv_tbl_perm where slice=0) c 
on a.relation=c.id 
left join pg_class d on a.relation=d.oid
where  a.relation is not null;

有关更多详细信息,请阅读AWS知识库条目

谢谢您的回复。我确实找到了一些专用锁,但没有阻塞PID。我认为这可能仍然是正确的方向。在同一分区表上有3个临时表。那是锁。这些将在大约20分钟内完成。然后有一个事实表,它是由这三个表构建的。这永远不会开始。如果我只是跑,它就完成了。我刚刚注意到事实表逻辑使用的是物化视图和排序,所以下一步就是这样。您是否检查了
logs/dbt.log
查询是否由dbt发出?似乎不确定红移查询或dbt进程是否挂起。很抱歉延迟。。。我确实看了一遍,没有看到任何有用的东西,但我不得不离开一会儿。我将在周一再次尝试地址,因为我确实需要它来工作!谢谢