복붙노트

[HADOOP] 스파크 + 하둡 데이터 지역

HADOOP

스파크 + 하둡 데이터 지역

나는 RDD [String]라는 파일명의 RDD를 가지고있다. 파일 이름 목록 (hdfs 내부의 파일)을 병렬 처리하면됩니다.

이제이 rdd를 매핑하고 내 코드는 FileSystem.open (path)을 사용하여 hadoop 스트림을 엽니 다. 그런 다음 처리합니다.

작업을 실행할 때 스파크 UI / 스테이지를 사용하고 모든 작업에 대해 "지역 수준"= "PROCESS_LOCAL"을 봅니다. 나는 spark이 (4 개의 데이터 노드 클러스터에서) 작업을 실행하는 방식으로 데이터 지역성을 얻을 수 있다고 생각하지 않는다. 어떻게 가능 할까?

해결법

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

    1.Spark의 데이터 지역성에 대한 추가 정보 :

    Spark의 데이터 지역성에 대한 추가 정보 :

    데이터의 현재 위치에 따라 여러 수준의 지역이 있습니다. 가장 가까운 것부터 가장 먼 순서로 :

    Spark는 모든 작업을 최상의 지역 수준으로 예약하는 것을 선호하지만 이것이 항상 가능한 것은 아닙니다. 유휴 executor에 처리되지 않은 데이터가없는 상황에서 Spark는 지역 수준을 낮추기 위해 전환합니다.

  2. ==============================

    2.데이터 지역성은 처리 속도를 높이는 스파크 기능 중 하나입니다. 데이터 지역성 섹션은 데이터 지역에 대한 스파크 튜닝 가이드에서 볼 수 있습니다.이 시점에서 sc.textFile ( "경로")를 작성할 때 데이터 지역 수준이 당신이 지정한 경로에 따라야하지만 그 스파크가 데이터가 존재하는 곳 (로컬)에서 프로세스를 시작함으로써 처리 속도를 최적화하기 위해 지역 수준을 process_local로 만들려고합니다.

    데이터 지역성은 처리 속도를 높이는 스파크 기능 중 하나입니다. 데이터 지역성 섹션은 데이터 지역에 대한 스파크 튜닝 가이드에서 볼 수 있습니다.이 시점에서 sc.textFile ( "경로")를 작성할 때 데이터 지역 수준이 당신이 지정한 경로에 따라야하지만 그 스파크가 데이터가 존재하는 곳 (로컬)에서 프로세스를 시작함으로써 처리 속도를 최적화하기 위해 지역 수준을 process_local로 만들려고합니다.

  3. from https://stackoverflow.com/questions/31006632/spark-hadoop-data-locality by cc-by-sa and MIT license