chispa enviar agregar múltiples jarras en classpath

Estoy tratando de ejecutar un progtwig de chispa en el que tengo varios archivos jar, si tuviera un solo contenedor no puedo ejecutarlo. Quiero agregar los dos archivos jar que están en la misma ubicación. He intentado lo siguiente pero muestra un error de dependencia

spark-submit \ --class "max" maxjar.jar Book1.csv test \ --driver-class-path /usr/lib/spark/assembly/lib/hive-common-0.13.1-cdh​5.3.0.jar 

¿Cómo puedo agregar otro archivo jar que se encuentre en el mismo directorio?

Quiero agregar /usr/lib/spark/assembly/lib/hive-serde.jar .

Estaba tratando de conectarme a mysql desde el código python que se ejecutó usando spark-submit .

Estaba usando un sandbox HDP que estaba usando Ambari. Intenté muchas opciones, como --jars , --driver-class-path , etc., pero ninguna funcionó.

Solución

Copie el jar en /usr/local/miniconda/lib/python2.7/site-packages/pyspark/jars/

Por ahora no estoy seguro de si es una solución o un truco rápido, pero dado que estoy trabajando en POC, funciona bien para mí.

Solo usa el parámetro --jars . Spark compartirá esos flasks (separados por comas) con los ejecutores.

Especificar la ruta completa para todos los jar adicionales funciona.

 ./bin/spark-submit --class "SparkTest" --master local[*] --jars /fullpath/first.jar,/fullpath/second.jar /fullpath/your-program.jar 

O agregue jar en conf / spark-defaults.conf agregando líneas como:

 spark.driver.extraClassPath /fullpath/firs.jar:/fullpath/second.jar spark.executor.extraClassPath /fullpath/firs.jar:/fullpath/second.jar 

Puede usar * para importar todas las jarras en una carpeta al agregar en conf / spark-defaults.conf.

 spark.driver.extraClassPath /fullpath/* spark.executor.extraClassPath /fullpath/* 

Para mí, la opción de abrir siempre funciona, pero es demasiado prolija. Para guardar algunos tipeos, puede poner todos los tinajas en un directorio decir ‘myJars’ y luego usar este comando para enviar:

 spark-submit --master local[*] --jars "/path/to/myJars/*.jar" --class  .jar arg1 arg2 

En Spark 2.3 solo tienes que configurar la opción –jars. La ruta del archivo debe ir precedida del esquema, es decir, file:/// file:////home/hadoop/spark/externaljsrs/* file:/// Ejemplo: file:////home/hadoop/spark/externaljsrs/* o file:////home/hadoop/spark/externaljars/abc.jar,file:////home/hadoop/spark/externaljars/def.jar