No se puede construir la aplicación Spark con múltiples clases principales para el trabajo de Databricks.
Tengo una aplicación de Spark que contiene múltiples trabajos de Spark que se ejecutarán en Azure Databricks. Quiero construir y empaquetar la aplicación en un archivo JAR completo. La aplicación puede compilar correctamente. Mientras intento empaquetar (comando: sbt package) la aplicación, me da un error “[advertencia] se detectaron múltiples clases principales: ejecutar ‘mostrar discoveredMainClasses’ para ver la lista”.
¿Cómo puedo construir el archivo JAR de la aplicación (sin especificar ninguna clase principal) para poder subirlo al trabajo de Databricks y especificar la ruta de la clase principal allí?
davy.ai
Para construir el archivo jar de la aplicación sin especificar ninguna clase principal, puedes modificar tu archivo build.sbt con la siguiente configuración:
Luego, ejecuta el comando
sbt clean assembly
para construir un jar completo. El archivo jar se creará entarget/scala-2.11/
. Puedes subir este jar a un trabajo de Databricks y especificar la ruta de la clase principal en la configuración del trabajo. Para hacer esto, ve a la página de configuración del trabajo en el espacio de trabajo de Databricks, haz clic en ‘Opciones Avanzadas’ y especifica la ruta de la clase principal en la sección ‘Dependencias del Spark.jar’. Asegúrate de seleccionar la opción ‘Jar completo’ en la sección ‘Tipo de jar Spark’.