Apache Spark如何了解HDFS数据节点?

时间:2015-02-12 15:44:05

标签: hadoop apache-spark hdfs

想象一下,我对HDFS中托管的文件执行一些Spark操作。像这样:

var file = sc.textFile("hdfs://...")
val items = file.map(_.split('\t'))
...

因为在Hadoop世界中,代码应该放在数据所在的位置,对吧?

所以我的问题是: Spark工作人员如何知道 HDFS数据节点? Spark如何知道执行代码的数据节点?

1 个答案:

答案 0 :(得分:14)

Spark重用Hadoop类:当你调用textFile时,它创建一个TextInputFormat,它有一个getSplits方法(一个分区大致是一个分区或块),然后每个{{} 3}}有getLocationsgetLocationInfo方法。