복붙노트

[HADOOP] Apache Spark은 HDFS 데이터 노드에 대해 어떻게 알고 있습니까?

HADOOP

Apache Spark은 HDFS 데이터 노드에 대해 어떻게 알고 있습니까?

내가 HDFS에서 호스팅되는 파일에 대해 Spark 작업을 수행한다고 가정 해보십시오. 이 같은:

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

Hadoop 세계에서 코드는 데이터가있는 곳으로 가야하므로 맞습니까?

그래서 제 질문은 : Spark 직원들은 HDFS 데이터 노드를 어떻게 알 수 있습니까? Spark은 코드를 실행할 데이터 노드를 어떻게 알 수 있습니까?

해결법

  1. ==============================

    1.Spark은 Hadoop 클래스를 재사용합니다 : textFile을 호출하면 getSplits 메소드 (분할이 대략 파티션 또는 블록 임)를 가진 TextInputFormat을 만든 다음 각 InputSplit에 getLocations 및 getLocationInfo 메소드가 있습니다.

    Spark은 Hadoop 클래스를 재사용합니다 : textFile을 호출하면 getSplits 메소드 (분할이 대략 파티션 또는 블록 임)를 가진 TextInputFormat을 만든 다음 각 InputSplit에 getLocations 및 getLocationInfo 메소드가 있습니다.

  2. from https://stackoverflow.com/questions/28481693/how-does-apache-spark-know-about-hdfs-data-nodes by cc-by-sa and MIT license