RDD如何为自己拆分数据?

时间:2019-03-16 14:21:15

标签: java apache-spark

我正在学习火花,并对此产生了疑问。

可以说我有100 GB的文件需要处理。因此,我创建了一个RDD并将其分为三部分。因此,三个RDD将在各自的节点上以大输入文件中的数据集并行执行。到目前为止很好..!

如果一部分数据(超出100GB)正在节点1中执行,则节点2上的B,节点3上的C。

只想知道,它是一个非常大的文件,那么如何在三个节点之间分配数据。例如,从大文件到节点1的数据集,从B到节点3的数据集,再到C到节点3的一组数据,它是明智地读取记录还是它如何工作?

请帮助我理解..!

谢谢

1 个答案:

答案 0 :(得分:0)

不确定我是否理解了这个问题...

从输入数据中读取火花“分裂”。根据数据在源路径上的分区方式确定的拆分数。可以是200之类的随机数,也可以是按国家/地区划分的世界范围内的国家/地区数。

将数据读入rdds时,分区将分布在您的节点之间。它将从每个分区中提取所有数据。