¿Cómo puedo importar bibliotecas personalizadas en los cuadernos de Databricks?
Subí una biblioteca jar en mi clúster en Databricks siguiendo este tutorial, sin embargo no he podido importar la biblioteca ni utilizar los métodos de la biblioteca desde el cuaderno de Databricks. No he encontrado foros o documentación que aborden este tema, así que no estoy seguro si es posible en este punto.
Puedo ejecutar el archivo jar como un trabajo en Databricks, pero no he podido importar la biblioteca jar en el cuaderno para ejecutarlo desde ahí.
También intenté ejecutar el archivo jar utilizando el comando mágico %sh pero recibí el siguiente error JNI:
Error: Ha ocurrido un error JNI, por favor verifique su instalación e intente de nuevo
Excepción en el hilo “main” java.lang.NoClassDefFoundError: scala/Function0
davy.ai
Es posible importar una biblioteca jar en un cuaderno de Databricks y utilizar sus métodos. Aquí están los pasos a seguir:
dbutils.fs.cp("dbfs:/FileStore/<ruta_al_archivo_jar>", "file:/ruta/al/directorio/local")
Reemplaza
<ruta_al_archivo_jar>
con la ruta al archivo jar subido en el clúster de Databricks, y reemplaza/ruta/al/directorio/local
con la ruta a un directorio local en la máquina que estás utilizando para acceder a Databricks. Este comando copiará el archivo jar desde el clúster de Databricks a tu máquina local.spark-submit
para ejecutar un trabajo de Spark que incluya el archivo jar, de la siguiente manera:spark-submit --class com.example.MyClass --master local ruta/al/archivo/jar.jar
.Reemplaza
com.example.MyClass
con el nombre totalmente calificado de la clase que deseas ejecutar desde el archivo jar, y reemplazaruta/al/archivo/jar.jar
con la ruta al archivo jar en tu máquina local.from com.example import MyClass
. Ahora puedes utilizar los métodos del objetoMyClass
en tu cuaderno.Si recibes un error de
JNI
como el mencionado en la pregunta original, podría ser causado por una dependencia faltante o un conflicto de versiones entre el archivo jar y la versión de Spark que se ejecuta en el clúster de Databricks. Verifica la documentación del archivo jar para verificar cualquier dependencia que pueda tener y asegúrate de incluirlas al ejecutar el trabajo de Spark. También puedes intentar actualizar la versión de Spark en el clúster de Databricks para que coincida con la versión requerida por el archivo jar.