我想知道当Spark摄取数据时,数据是在驱动程序中被摄取并发送给工作者,Spark是否指示节点从文件系统中读取数据?
我知道在火花流中,使用kafka源,显然,工作节点从kafka读取 . 但是,当从文件系统中读取时,我不确定它是如何工作的 .
情况1
A - 从文件系统读取时假设文件系统是HDFS A.1 - 驱动程序是否读取文件并将数据传输给工作人员或者是否让工作人员读取文件A.2 - 是原始分区根据HDFS的分区方式确定?
案例2
B - 当文件系统是本地文件系统或S3 B.1时 - 分区发生了什么,算法是否会改变我们从HDFS读取或从本地文件系统读取? (在后一种情况下,将依赖于HDFS分区使用特殊算法?B.2 - 工作人员是否参与读取数据,即使数据尚未分区?
如果有人可以帮助澄清一点,那将会有所帮助 . 谢谢
1 回答
对于文件源,
driver program
仅读取文件的元数据 .