我有一个执行以下操作的lambda函数
create table xyz
copy xyz from S3
复制命令运行时间超过5分钟,lambda在5分钟后超时。 COPY结束后,我们期望看到Redshift。
我希望看到临时表和S3文件中的所有行都在xyz表中,但我根本没有看到临时表。这是正确的行为吗?
由于
答案 0 :(得分:1)
是的,临时表仅在创建它的会话中可见,并在关闭连接时被删除。这是一种常见的数据库行为。您可以从不同的连接同时创建具有相同名称的临时表,并且不会发生名称冲突。在您的情况下,最好创建一个常规表,然后在需要时删除它。
UPD:我不知道你的lambda是如何设置的。如果你甚至看不到sql代码在一个事务中运行的空表,那么很有可能回滚整个事情。如果函数超时,您仍然无法看到填充的表,因为连接已终止。可能问题不在你的lambda中,而是在你的副本设置中,因为5分钟以上的副本对于Redshift来说非常奇怪。文件大小是什么以及群集配置是什么?您可能会尝试将太大的文件放入多个节点群集中,而不会将其分解为块。