Spark的takeSample()结果分两个阶段

Spark's takeSample() results in two stages

我在 Spark 1.3.1 中观察到有趣的行为,原因尚不清楚。

做一些像 sc.textFile("...").takeSample(...) 这样简单的事情总是会导致两个阶段:

我能够重现这一点,关键是要专注于 details 扩展。第一个和第二个在 takeSample 内的呼叫有不同的线路号码。第一个是 Line 428, which is a call to count, thus why this triggers on its own. The second is Line 447,这是对 sample 本身的调用。这可能会令人困惑并且可能会被修复,但我不认为它是一个高优先级。