apache spark - textfile - ¿Cómo especificar múltiples dependencias usando--paquetes para spark-submit?
rdd (1)
Una lista de paquetes se debe separar usando comas sin espacios en blanco (las líneas de ruptura deberían funcionar bien) por ejemplo
--packages org.apache.spark:spark-streaming-kafka_2.10:1.3.0,/
org.apache.hbase:hbase-common:1.0.0
Tengo lo siguiente como línea de comando para iniciar un trabajo de transmisión de chispas.
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 &
El trabajo no se inicia con el siguiente error:
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)
He intentado eliminar el formato y volver a una sola línea, pero eso no resuelve el problema. También probé un montón de variaciones: diferentes versiones, _2.10
al final del artifactId, etc.
Según los documentos ( spark-submit --help
):
El formato de las coordenadas debe ser groupId: artifactId: version.
Entonces, lo que tengo debería ser válido y debería hacer referencia a este paquete .
Si ayuda, estoy ejecutando Cloudera 5.4.4.
¿Qué estoy haciendo mal? ¿Cómo puedo hacer referencia a los paquetes de hbase correctamente?