es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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:

  1. 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.
  2. 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.

Tags:  , , , ,

Answer

  1. Avatar for 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:

    %spark
    from pyspark.sql import SparkSession
    ss = SparkSession.builder.appName("test").getOrCreate()
    sc = ss.sparkContext
    sc.addPyFile("s3://your-bucket/your-library.py")
    
    %python
    import your_library
    

    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!

Comments are closed.