2015-11-25 9 views
12

Mam następujące polecenie jako wiersz polecenia, aby rozpocząć zadanie strumieniowania iskier.Jak określić wiele zależności za pomocą --packages dla spark-submit?

spark-submit --class com.biz.test \ 
      --packages \ 
       org.apache.spark:spark-streaming-kafka_2.10:1.3.0 \ 
       org.apache.hbase:hbase-common:1.0.0 \ 
       org.apache.hbase:hbase-client:1.0.0 \ 
       org.apache.hbase:hbase-server:1.0.0 \ 
       org.json4s:json4s-jackson:3.2.11 \ 
      ./test-spark_2.10-1.0.8.jar \ 
      >spark_log 2>&1 & 

Zadanie nie daje się uruchomić z powodu następującego błędu:

Exception in thread "main" java.lang.IllegalArgumentException: Given path is malformed: org.apache.hbase:hbase-common:1.0.0 
    at org.apache.spark.util.Utils$.resolveURI(Utils.scala:1665) 
    at org.apache.spark.deploy.SparkSubmitArguments.parse$1(SparkSubmitArguments.scala:432) 
    at org.apache.spark.deploy.SparkSubmitArguments.parseOpts(SparkSubmitArguments.scala:288) 
    at org.apache.spark.deploy.SparkSubmitArguments.<init>(SparkSubmitArguments.scala:87) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:105) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 

Próbowałem usunięcie formatowania i powrocie do jednej linii, ale to nie rozwiąże problemu. Próbowałem również kilka wariantów: różne wersje, dodaje _2.10 do końca artifactId itp

Według Docs (spark-submit --help):

The format for the coordinates should be groupId:artifactId:version.

Więc co mam powinny być ważne i powinien odnosić się do this package.

Jeśli to pomaga, używam Cloudera 5.4.4.

Co robię źle? Jak poprawnie odnieść się do pakietów hbase?

+0

Czy to działa dobrze? W moim przypadku musiałem dodać słoiki również za pomocą --jars i --driver-class-path. –

Odpowiedz

26

listę pakietów powinny być oddzielone za pomocą przecinków bez białych znaków (linie łamanie powinno działać dobrze) np

--packages org.apache.spark:spark-streaming-kafka_2.10:1.3.0,\ 
    org.apache.hbase:hbase-common:1.0.0 
+3

Zauważyłem, że musiałem również usunąć spacje i podziały wierszy, aby uruchomić je poprawnie: '--packages org.apache.spark: spark-streaming-kafka_2.10: 1.3.0, org.apache.hbase: hbase-common: 1.0.0' ... – davidpricedev

Powiązane problemy