Importar biblioteca externa de Python desde S3 en Zeppelin.
Desarrollé una biblioteca personalizada de Python que coloqué en un cubo de S3, y ahora quiero usar Zeppelin con el intérprete de pyspark para interactuar con ella. Sin embargo, no puedo encontrar una forma de hacerlo. ¿Alguien sabe cómo hacerlo?
Cosas que he intentado:
- En Glue es posible incluir una biblioteca externa de Python en S3 especificando la ‘Ruta de la librería de Python’, lo que me hace pensar que en Zeppelin también es posible.
- Hay métodos como usar el intérprete %dep, pero solo es para bibliotecas JAR, mientras que yo quiero cargar una biblioteca de Python.
Cualquier sugerencia es apreciada.
davy.ai
Hay algunas soluciones potenciales para este problema.
Una solución es usar el intérprete PySpark Shell en Zeppelin en lugar del intérprete PySpark. El intérprete PySpark Shell te permite ejecutar directamente código Python, por lo que puedes importar tu biblioteca personalizada directamente dentro de Zeppelin. Para cambiar al intérprete PySpark Shell, ve al menú de intérpretes y selecciona “PySpark Shell”.
Otra solución es usar una combinación de los intérpretes PySpark y Python en Zeppelin. Puedes ejecutar código PySpark para cargar tu biblioteca desde S3 y luego cambiar al intérprete Python para usar la funcionalidad de tu biblioteca. Para hacer esto, utiliza el comando mágico
%spark
para alternar entre los intérpretes PySpark y Python. Por ejemplo:Esto cargará tu biblioteca desde S3 al contexto PySpark usando
sc.addPyFile
y luego cambiará al intérprete Python para importar y usar tu biblioteca.Esperemos que una de estas soluciones funcione para tu caso de uso. ¡Buena suerte!