0

当 Talend 在雪花中的单个表上执行 32 个线程的并行合并语句时,进程失败并显示错误,因为“语句 X”已中止,因为此锁的等待者数量超过了 20 个语句的限制”。

现在我的问题是如何有效地使用 Talend 中的并行线程,使其不应该超过雪花中的这个限制?

20 个线程总是会在特定时间戳创建最多 20 个锁定事务(1 个持有,19 个等待),还是可以超过 20 个?

雪花中的锁是否与任何特定时间戳的 DML(在这些情况下为合并语句)的数量成正比?

雪花在自动中止之前等待等待锁等待其他持有锁完成多长时间?由于其他 DML 正在等待获得排他锁,这意味着它们处于空闲状态,所以如果持有的事务在 4 小时内没有完成,雪花会在开始 4 小时后中止事务吗?

4

1 回答 1

0

如果您真的认为您需要超过 20 个服务员,您可以随时写信给 Snowflake 支持并要求增加价值。

就交易限制而言 - 让雪花中止您需要设置超时的任何内容: https ://docs.snowflake.com/en/sql-reference/parameters.html#lock-timeout https://docs.snowflake .com/en/sql-reference/parameters.html#statement-timeout-in-seconds https://docs.snowflake.com/en/sql-reference/parameters.html#statement-queued-timeout-in-seconds

于 2020-07-19T04:16:18.983 回答