Apache spark 使用Spark或Flink时,HDFS上的位置感知是如何实现的?

Apache spark 使用Spark或Flink时,HDFS上的位置感知是如何实现的?,apache-spark,hdfs,yarn,apache-flink,Apache Spark,Hdfs,Yarn,Apache Flink,我想知道Spark或Flink执行引擎(主调度器)是如何为每个块找到合适的工作者的 namenode将能够告诉他们区块的确切位置,但这项任务是由Spark和Flink的工作经理完成的,还是这是纱线发挥作用的地方?我只能告诉Flink。JobManager从HDFS Namenode请求块信息,并计算块任务分配。首先,将本地块分配给每个TaskManger(TM)。如果TM没有任何本地块,则会分配远程块。如果不再有本地块可用,所有剩余的块将均匀分配到所有TMs上(以获得良好的负载平衡)。谢谢您的回

我想知道Spark或Flink执行引擎(主调度器)是如何为每个块找到合适的工作者的


namenode将能够告诉他们区块的确切位置,但这项任务是由Spark和Flink的工作经理完成的,还是这是纱线发挥作用的地方?

我只能告诉Flink。
JobManager
HDFS Namenode
请求块信息,并计算块任务分配。首先,将本地块分配给每个
TaskManger
(TM)。如果TM没有任何本地块,则会分配远程块。如果不再有本地块可用,所有剩余的块将均匀分配到所有TMs上(以获得良好的负载平衡)。

谢谢您的回答。这很有帮助!