【问题标题】:When Spark read from the file system does it goes to the driver?当 Spark 从文件系统读取时,它会转到驱动程序吗?
【发布时间】:2018-01-15 08:16:30
【问题描述】:

我想知道Spark在摄取数据的时候,数据是在driver中摄取并发送给worker,Spark的指示节点从文件系统中读取数据吗?

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

案例一

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

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

A.2 - 原始分区是否由 HDFS 的分区决定?

案例 2

B - 当来自本地文件系统或 S3 的文件系统时

B.1 - 分区会发生什么变化,无论我们从 HDFS 读取还是从本地文件系统读取,算法是否会发生变化? (在后一种情况下,将使用一种特殊的算法来代替依赖 HDFS 分区? B.2 - 工作人员是否参与读取数据,即使数据尚未分区?

我该如何澄清这一点?

【问题讨论】:

    标签: apache-spark amazon-s3 hdfs


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-11-02
      • 2021-09-19
      • 2018-02-07
      • 2018-12-17
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多