MapReduce服务 MRS-Spark与其他组件的关系:Spark和HDFS的关系
Spark和HDFS的关系
通常,Spark中计算的数据可以来自多个数据源,如Local File、HDFS等。最常用的是HDFS,用户可以一次读取大规模的数据进行并行计算。在计算完成后,也可以将数据存储到HDFS。
分解来看,Spark分成控制端(Driver)和执行端(Executor)。控制端负责任务调度,执行端负责任务执行。
读取文件的过程如图 读取文件过程所示。
- Driver与HDFS交互获取File A的文件信息。
- HDFS返回该文件具体的Block信息。
- Driver根据具体的Block数据量,决定一个并行度,创建多个Task去读取这些文件Block。
- 在Executor端执行Task并读取具体的Block,作为RDD(弹性分布数据集)的一部分。
写入文件的过程如图 写入文件过程所示。
- Driver创建要写入文件的目录。
- 根据RDD分区分块情况,计算出写数据的Task数,并下发这些任务到Executor。
- Executor执行这些Task,将具体RDD的数据写入到步骤1创建的目录下。
下载MapReduce服务 MRS用户手册完整版

