Spark RDD 和 HDFS 数据块的区别

D78*_*rul 1 hadoop hdfs apache-spark rdd

请帮助我理解 HDFS 的数据块和 Spark 中的 RDD 之间的区别。HDFS 将数据集分发到集群中的多个节点,因为具有相同大小的块和数据块将被多次复制并存储。RDD 被创建为并行化集合。Parallelized 集合的元素是跨节点分布还是存储在内存中进行处理?与 HDFS 的数据块有任何关系吗?

小智 5

与 HDFS 的数据块有任何关系吗?

一般不会。他们解决不同的问题

  • RDD 是关于分布式计算和处理计算失败的。
  • HDFS 是关于分配存储和处理存储故障。

分布是公分母,仅此而已,故障处理策略明显不同(分别是DAG重新计算和复制)。

Spark 可以使用 Hadoop 输入格式,并从 HDFS 读取数据。在这种情况下,HDFS 块和 Spark 拆分之间将存在关系。然而,Spark 不需要 HDFS,并且新 API 的许多组件不再使用 Hadoop 输入格式。