SparkConf, spark - submit 및 spark - defaults. conf

3040 단어 빅 데이터spark)
북풍 망 spark 학습 노트
SparkConf, spark - submit 및 spark - defaults. conf
  • spark - submit 스 크 립 트 는 conf / spark - defaults. conf 파일 의 설정 속성 을 자동 으로 불 러 오고 spark 응용 프로그램
  • 에 전달 합 니 다.
  • 기본 설정 속성 을 불 러 옵 니 다. 가장 큰 장점 은 spark - submit 스 크 립 트 에 모든 속성 을 설정 할 필요 가 없다 는 것 입 니 다
  • .
  • 예 를 들 어 기본 속성 에 spark. master 속성 이 있 기 때문에 우리 의 spark - submit 스 크 립 트 에서 명시 적 으로 설정 하지 않 아 도 됩 니 다 – master, 기본 값 은 local
  • 입 니 다.
  • spark 설정 의 우선 순 위 는 다음 과 같 습 니 다: SparkConf, spark - submit, spark - defaults. conf
  • #     spark.default.parallelism  ,   SparkConf.set("spark.default.parallelism", "100")
    
    SparkConf.set("spark.default.parallelism", "100")
    spark-submit: --conf spark.default.parallelism=50
    spark-defaults.conf: spark.default.parallelism 10
    

    비록 SparkConf 설정 속성의 우선 순위 가 가장 높다 고 말 하지만, 때때로 우 리 는 코드 에서 일부 설정 속성 을 하 드 코딩 하 는 것 을 원 하지 않 을 수도 있 습 니 다. 그렇지 않 으 면 매번 파 라 메 터 를 수정 한 후에 코드 에서 수정 한 다음 에 응용 프로그램 을 다시 포장 하고 생산 기계 에 배치 해 야 합 니 다. 매우 귀 찮 습 니 다.
    그래서 보통 spark - submit 설정 속성 을 사용 합 니 다.
  • 코드 에 빈 SparkConf 대상 만 만 만 들 수 있 습 니 다. 예 를 들 어 val sc = new SparkContext(new SparkConf()), 그리고 spark - submit 스 크 립 트 에서 각종 속성의 값 을 설정 할 수 있 습 니 다. 예 를 들 어
    ./bin/spark-submit \
      --name "My app" \
      --master local[4] \
      --conf spark.shuffle.spill=false \
      --conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps" \
      myApp.jar
    
    spark. shuffle. spill, 코드 에 있 으 면 SparkConf.set("spark.shuffle.spill", "false") 설정 할 수 있 습 니 다. 이때 spark - submit 에 설정 되 어 있 습 니 다. 코드 를 변경 하지 않 아 도 속성 을 변경 할 수 있 습 니 다. 매우 편리 합 니 다. 특히 spark 프로그램의 조정 이 특히 편리 합 니 다.

  • spark 속성 설정 방식
  • spark - shell 과 spark - submit 두 도 구 는 두 가지 로 딩 설정 을 지원 합 니 다
  • 하 나 는 명령 행 인 자 를 바탕 으로 하 는 것 입 니 다. 예 를 들 어 위의 – master, spark - submit 은 – conf 인 자 를 통 해 모든 spark 속성
  • 을 받 을 수 있 습 니 다.
  • 다른 하 나 는 conf / spark - defaults. conf 파일 에서 불 러 오 는 것 입 니 다. 그 중에서 모든 줄 은 하나의 key 와 value 를 포함 합 니 다. 예 를 들 어 spark. executor. memory 4g
  • SparkConf, spark - submit, spark - defaults. conf 에서 설정 한 모든 속성 은 실 행 될 때 종합 적 으로 사 용 됩 니 다. SparkConf 를 통 해 설정 한 속성 은 우선 순위 가 가장 높 고 나머지 두 가지 방식 으로 설정 한 속성 을 덮어 씁 니 다. 그 다음은 spark - submit 스 크 립 트 에서 – conf 를 통 해 설정 한 속성 입 니 다. 마지막 으로 spark - defaults. conf 에서 설정 한 속성 입 니 다.
  • 일반적으로 모든 spark 작업 에 적용 되 는 설정 을 spark - defaults. conf 파일 에 두 려 면 spark - defaults. conf. template 를 그 글 로 복사 한 다음 편집 하면 됩 니 다. 어떤 spark 작업 에 대해 서 는 특별한 설정 을 spark - submit 스 크 립 트 에 두 는 것 을 추천 합 니 다. – conf 설정 으로 유연 한 SparkConf 설정 속성 을 사용 하면 무슨 소 용이 있 습 니까?eclipse 에서 local 모드 로 실행 할 때 SparkConf 에 속성 을 설정 할 수 밖 에 없습니다
  • 새로운 spark 버 전에 서 일부 속성의 이름 을 바 꿀 수 있 습 니 다. 오래된 속성 이름 은 만 료 되 었 습 니 다. 이때 낡은 속성 이름 은 받 아들 여지 지만 새로운 속성 이름 은 오래된 속성 이름 을 덮어 쓰 고 우선 순 위 는 이전 속성 이름 보다 높 습 니 다
  • 예 를 들 면
    shuffle reduce read         
    
    spark 1.3.0: spark.reducer.maxMbInFlight
    spark 1.5.0: spark.reducer.maxSizeInFlight
    

    좋은 웹페이지 즐겨찾기