Apache Spark 不确定性的来源
Sources of non-determinism of Apache Spark
我正在尝试找出 Spark 中所有不确定性的来源。我知道不确定性可能来自用户提供的函数,例如在 map(f) 中,f 涉及随机。相反,我正在寻找可能导致非确定性的操作,无论是在 transformations/actions 还是在较低级别,例如洗牌。
超出我的想象:
需要洗牌(或一般的网络流量)的操作可能会以不确定的顺序输出值。它包括明显的情况,例如 groupBy*
或 join
。一个不太明显的例子是排序后的领带顺序
依赖于不断变化的数据源或可变全局状态的操作
在转换中执行的副作用,包括 accumulator
更新
我正在尝试找出 Spark 中所有不确定性的来源。我知道不确定性可能来自用户提供的函数,例如在 map(f) 中,f 涉及随机。相反,我正在寻找可能导致非确定性的操作,无论是在 transformations/actions 还是在较低级别,例如洗牌。
超出我的想象:
需要洗牌(或一般的网络流量)的操作可能会以不确定的顺序输出值。它包括明显的情况,例如
groupBy*
或join
。一个不太明显的例子是排序后的领带顺序依赖于不断变化的数据源或可变全局状态的操作
在转换中执行的副作用,包括
accumulator
更新