我已经阅读了 Foundry 中的文档以了解两者之间的区别,但我想知道在什么情况下我希望将STATIC_ALLOCATION
配置文件应用于我的构建以防止我的执行程序被抢占。
在动态分配模式下运行时,我还有什么其他需要注意的吗?
我已经阅读了 Foundry 中的文档以了解两者之间的区别,但我想知道在什么情况下我希望将STATIC_ALLOCATION
配置文件应用于我的构建以防止我的执行程序被抢占。
在动态分配模式下运行时,我还有什么其他需要注意的吗?
在动态分配中运行时应注意以下几点:
STATIC_ALLOCATION
配置文件应用到你的构建中,这样你就不会被抢占。请注意不要请求比构建所需更多的执行器,因为没有其他人将能够共享资源。ADAPTIVE_DISABLED
配置文件应用到您的构建中,这样 AQE 就不会得到它对分区大小的估计错误,从而导致并行性差。AQE 非常适合用于类似 SQL 的操作,例如join
、window
和其他类似的东西,但是当您使用.udf
AQE 无法准确估计其费用的其他特定行为时,它最终可能会在实践中伤害您。.udf
或其他手动行为。它将帮助您在所有其他构建中保留它。.udf
并repartition()
计入此行数,导致每个任务 1 行. 这是可能支付的最大 I/O 成本,但它会导致尽可能少的任务和最大的并行度