[SCALA] 스파크 쉼표 목록, 어떻게 항아리의 디렉토리를 선언하는 원한다 --jars 인수를 스파크 제출?
SCALA스파크 쉼표 목록, 어떻게 항아리의 디렉토리를 선언하는 원한다 --jars 인수를 스파크 제출?
이전 1.6.0의로 스파크 문서의 응용 프로그램을 제출하고, 그것은 그것을 분명히 콜론으로 구분 된 클래스 경로 디렉토리가 아닌 확장이 아니다 같이 --jars 인수를 지정하는 방법을 분명하지 않다.
워드 프로세서 응용 프로그램 및 모든 종속성을 포함한 번들 항아리에 "경로를 말할 URL은 클러스터의 내부에 전 세계적으로 볼 수 있어야합니다, 예를 들어, HDFS :. // 경로 또는 파일 : // 모든 노드에 존재하는 경로. "
오늘 --jars을 테스트 할 때, 우리는 명시 적으로 각 단지에 대한 경로를 제공했기 때문에 물어 :
/usr/local/spark/bin/spark-submit --class jpsgcs.thold.PipeLinkageData ---jars=local:/usr/local/spark/jars/groovy-all-2.3.3.jar,local:/usr/local/spark/jars/guava-14.0.1.jar,local:/usr/local/spark/jars/jopt-simple-4.6.jar,local:/usr/local/spark/jars/jpsgcs-core-1.0.8-2.jar,local:/usr/local/spark/jars/jpsgcs-pipe-1.0.6-7.jar /usr/local/spark/jars/thold-0.0.1-1.jar
/ 파일 : / 또는 HDFS : 공급 한 후 기본 파일입니다 : 우리는 각 작업자 / usr / 지방 / 스파크 / 항아리의 모든 단지와 클러스터를 미리 채우는 선택하고, 어떤 지역의 경우 듯 / 운전자는 운전자가 운영하는 웹 서버에있는 항아리 사용할 수 있습니다. 나는 위와 같이 지역 선택했다.
그리고 우리가 --jars 인수에 주요 단지를 넣을 필요가 없습니다, 내가 만약 최종 인수에서 다른 클래스 (문서 당 응용 프로그램 항아리 인수, 즉 / usr / 지방 / 스파크 / 항아리 / 아직 테스트하지 않은 것 같다 THOLD - 0.0.1-1.jar)는 근로자에게 제공하거나하는 내가 --class가 볼 수의 이름을 따서 명명되지 클래스를 얻기 위해 --jars 경로에 응용 프로그램 단지를 배치해야합니다.
(그리고 --deploy 모드 클라이언트를 사용하여 불꽃 독립형 모드 부여, 당신은 또한 각 작업자 드라이버의 사본을 넣어야하지만 당신은 드라이버를 실행할 노동자 앞까지 모른다)
해결법
-
==============================
1.이러한 방법으로 대신 별도 버전으로 각 단지를 지정하는 .. 쉽게했다 ..
이러한 방법으로 대신 별도 버전으로 각 단지를 지정하는 .. 쉽게했다 ..
#!/bin/sh # build all other dependent jars in OTHER_JARS JARS=`find ../lib -name '*.jar'` OTHER_JARS="" for eachjarinlib in $JARS ; do if [ "$eachjarinlib" != "APPLICATIONJARTOBEADDEDSEPERATELY.JAR" ]; then OTHER_JARS=$eachjarinlib,$OTHER_JARS fi done echo ---final list of jars are : $OTHER_JARS echo $CLASSPATH spark-submit --verbose --class <yourclass> ... OTHER OPTIONS --jars $OTHER_JARS,APPLICATIONJARTOBEADDEDSEPERATELY.JAR
-
==============================
2.한 가지 방법 (유일한 방법?)을 --jars 인수를 사용하여 명시 적으로 명명 된 항아리의 쉼표로 구분 된 목록을 제공하는 것입니다. 나는 쉼표를 사용하여 알아 낸 유일한 방법은 명령 줄에 문서를 넘어보고 저를지도 한 StackOverflow의 대답했다 :
한 가지 방법 (유일한 방법?)을 --jars 인수를 사용하여 명시 적으로 명명 된 항아리의 쉼표로 구분 된 목록을 제공하는 것입니다. 나는 쉼표를 사용하여 알아 낸 유일한 방법은 명령 줄에 문서를 넘어보고 저를지도 한 StackOverflow의 대답했다 :
spark-submit --help
이 명령의 출력에는 다음이 포함됩니다
--jars JARS Comma-separated list of local jars to include on the driver and executor classpaths.
내가 --jars을 테스트했다 오늘 할 때, 우리는 명시 적으로 각 단지에 대한 경로를 제공했다 :
/usr/local/spark/bin/spark-submit --class jpsgcs.thold.PipeLinkageData ---jars=local:/usr/local/spark/jars/groovy-all-2.3.3.jar,local:/usr/local/spark/jars/guava-14.0.1.jar,local:/usr/local/spark/jars/jopt-simple-4.6.jar,local:/usr/local/spark/jars/jpsgcs-core-1.0.8-2.jar,local:/usr/local/spark/jars/jpsgcs-pipe-1.0.6-7.jar /usr/local/spark/jars/thold-0.0.1-1.jar
from https://stackoverflow.com/questions/34738296/spark-spark-submit-jars-arguments-wants-comma-list-how-to-declare-a-directory by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 한 인수 함수를 호출 할 때 왜 그리고 어떻게 스칼라 특별히 튜플을 치료한다? (0) | 2019.11.04 |
---|---|
[SCALA] 스칼라는 최소한의 기능을 강조 (0) | 2019.11.04 |
[SCALA] 어떻게 A [B [C]가] B로 변환하는 [A [C]] A와 B는 모나드가 있다면? (0) | 2019.11.04 |
[SCALA] 표준 출력에에 println ()를 잃고 스파크 (0) | 2019.11.04 |
[SCALA] 어떻게 동일한 열 값이 dataframes로 dataframe을 분할하는? (0) | 2019.11.04 |