当Spark Read从文件系统进入驱动程序时?

时间:2017-08-07 22:53:59

标签: apache-spark amazon-s3 hdfs

我想知道当Spark摄取数据时,数据是在驱动程序中被摄取并发送给工作者,Spark是否指示节点从文件系统中读取数据?

我知道在火花流中,使用kafka源,显然,工作节点从kafka读取。但是,当从文件系统中读取时,我不确定它是如何工作的。

案例1

  

A - 从文件系统读取时假定   文件系统是HDFS

     

A.1 - 驱动程序是否读取文件并将数据传输给工作人员   在旅途中或他是否有工人阅读文件

     

A.2 - 原始分区是否取决于HDFS的分区方式?

案例2

  

B - 从文件系统本地文件系统或S3

的文件系统      

B.1 - 分区发生了什么,我们从HDFS读取或从本地文件系统读取算法是否会改变? (在后一种情况下,在依赖HDFS分区时会使用特殊算法吗?   B.2 - 即使数据没有被分区,工作人员是否参与读取数据?

如果有人可以帮助澄清一下,那会有所帮助。感谢

1 个答案:

答案 0 :(得分:2)

对于文件来源,driver program仅读取文件的元数据。

  

驱动程序查看文件元数据 - 检查它是否存在,检查一下   如果文件是目录,则文件位于目录中,并检查它们的大小。   然后它将任务发送给工作人员,他们实际读取文件   内容。通讯基本上是“你读这个文件,   从这个偏移开始,这个长度。“