如何将List [List [Result]]转换为RDD [Result]?

时间:2019-03-15 23:19:27

标签: scala list apache-spark rdd data-conversion

  • 就我而言,结果是最终案例类
  • 我不能使用sc.parallelize(),因为我的列表很大,并且会使驱动程序崩溃。

2 个答案:

答案 0 :(得分:0)

如果您的数据太大而无法一次在内存中处理,请一次并行化尽可能多的List[Result](展平),必要时保留,然后合并RDD。这样,您将获得没有OOM的所有结果的RDD。

答案 1 :(得分:0)

答案是列表不会缩放。因为我使用Lists处理“大”数据,所以List [List]并不是最好的主意,因为与RDD列表不同的是,它不会在执行程序之间进行切片和分布。因此,使用非常大的List可能会使执行器节点崩溃。

最终我要做的是通过代码更新以创建RDD [List [Result]],然后使用flatMap合并并获得RDD [Result]。