Spark如何在多线程应用程序中处理延迟创建的缓存数据帧?

时间:2019-10-14 15:26:13

标签: apache-spark

考虑以下代码:

df = dataframe.cache() // <--- Lazy
ParSeq(df.transform(a), df.transform(b)).foreach { 
   // Materialize here
}

在上面的示例中,cache将在竞争条件下被两个线程评估两次。我的具体问题是:

  1. Spark是否足够聪明,可以等待其中一个步骤来建立缓存,然后共享缓存?
  2. 我们最终有多少个缓存实例?
  3. 过程是确定性的吗?
  4. 此文件记录在某处吗?

0 个答案:

没有答案