>  기사  >  Java  >  Spark-Submit을 사용하여 Spark 작업에 JAR 파일을 추가하는 방법은 무엇이며, 이를 위한 다양한 옵션과 고려 사항은 무엇입니까?

Spark-Submit을 사용하여 Spark 작업에 JAR 파일을 추가하는 방법은 무엇이며, 이를 위한 다양한 옵션과 고려 사항은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-16 17:41:03738검색

How are JAR files added to a Spark job using Spark-Submit,  and what are the different options and considerations for doing so?

Spark-Submit을 사용하여 Spark 작업에 JAR 파일 추가

Spark-Submit을 사용할 때 Spark 작업에 JAR 파일을 추가하는 몇 가지 옵션이 있습니다. 클래스 경로, 파일 배포 및 우선 순위에 대한 고유한 영향을 미칩니다.

ClassPath 효과

Spark-Submit은 다음 옵션을 통해 ClassPath에 영향을 줍니다.

  • spark.driver.extraClassPath 또는 --driver-class-path: 드라이버 노드에 대한 추가 클래스 경로를 지정합니다.
  • spark.executor.extraClassPath: 작업자 노드에 대한 추가 클래스 경로를 지정합니다.

포함할 파일의 경우 두 ClassPath 모두에서 both 플래그에 지정해야 합니다.

파일 배포

파일 배포는 실행 모드에 따라 다릅니다.

  • 클라이언트 모드: Spark는 HTTP 서버를 통해 작업자 노드에 파일을 배포합니다.
  • 클러스터 모드: Spark는 파일을 배포하지 않으며 HDFS 또는 기타 공유 저장소를 통해 모든 작업자 노드에서 수동으로 사용할 수 있도록 합니다.

허용된 URI 형식

Spark-Submit은 파일 배포를 위해 다음 URI 접두사를 지원합니다.

  • file:: 드라이버 HTTP 서버에서 제공됩니다.
  • hdfs:, http:, https:, ftp:: 지정된 URI에서 가져옵니다.
  • local::

영향을 받는 옵션

질문에 언급된 옵션은 다음과 같이 JAR 파일 처리에 영향을 미칩니다.

  • --jars 및 SparkContext.addJar: ClassPath에 JAR을 추가하지 않는 동등한 옵션.
  • SparkContext.addFile: 런타임 종속성이 아닌 임의 파일에 사용됩니다.
  • --conf Spark.driver.extraClassPath 또는 - -driver-class-path: 드라이버 ClassPath 수정을 위한 별칭.
  • --conf Spark.driver.extraLibraryPath 또는 --driver-library-path: 드라이버 라이브러리 경로를 위한 별칭.
  • -- conf Spark.executor.extraClassPath: über JAR에 포함될 수 없는 런타임 종속성에 사용됩니다.
  • --conf Spark.executor.extraLibraryPath: JVM의 java.library.path 옵션을 지정합니다.

우선순위

SparkConf에 직접 설정된 속성의 우선순위가 가장 높고 Spark-Submit 플래그와 Spark-defaults.conf의 옵션이 그 뒤를 따릅니다. 따라서 코드에 설정된 모든 값은 해당 플래그나 옵션을 재정의합니다.

동시에 JAR 파일 추가

클라이언트 모드에서는 세 가지 주요 옵션을 모두 사용하여 JAR 파일을 추가하는 것이 안전합니다.

spark-submit --jars additional1.jar,additional2.jar \
  --driver-class-path additional1.jar:additional2.jar \
  --conf spark.executor.extraClassPath=additional1.jar:additional2.jar \
  --class MyClass main-application.jar

단, 클러스터 모드에서는 --jars를 사용하여 파일을 추가하고, 작업자 노드에 직접 수동으로 배포해야 합니다. --driver-library-path에 JAR 파일을 전달하는 것과 같은 중복 인수는 피해야 합니다.

위 내용은 Spark-Submit을 사용하여 Spark 작업에 JAR 파일을 추가하는 방법은 무엇이며, 이를 위한 다양한 옵션과 고려 사항은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.