Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Uso de bibliotecas de Python con EMR sin servidor

Modo de enfoque
Uso de bibliotecas de Python con EMR sin servidor - Amazon EMR

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cuando ejecuta PySpark trabajos en aplicaciones Amazon EMR Serverless, puede empaquetar varias bibliotecas de Python como dependencias. Para ello, puede utilizar las funciones nativas de Python, crear un entorno virtual o configurar directamente sus PySpark trabajos para utilizar las bibliotecas de Python. Esta página abarca cada enfoque.

Uso de funciones nativas de Python

Si estableces la siguiente configuración, puedes utilizarla PySpark para cargar archivos de Python (.py), paquetes de Python comprimidos (.zip) y archivos Egg (.egg) a los ejecutores de Spark.

--conf spark.submit.pyFiles=s3://amzn-s3-demo-bucket/EXAMPLE-PREFIX/<.py|.egg|.zip file>

Para obtener más información sobre cómo utilizar los entornos virtuales de Python para los PySpark trabajos, consulte Uso de funciones PySpark nativas.

Creación de un entorno virtual de Python

Para empaquetar varias bibliotecas de Python para un PySpark trabajo, puede crear entornos virtuales de Python aislados.

  1. Para crear el entorno virtual de Python, ejecute los siguientes comandos. El ejemplo que se muestra instala los paquetes scipy y matplotlib en un paquete de entorno virtual y copia el archivo en una ubicación de Amazon S3.

    importante

    Debe ejecutar los siguientes comandos en un entorno de Amazon Linux 2 similar con la misma versión de Python que utiliza en EMR sin servidor, es decir, Python 3.7.10 para Amazon EMR versión 6.6.0. Puede encontrar un ejemplo de Dockerfile en el repositorio de muestras sin servidor de EMR. GitHub

    # initialize a python virtual environment python3 -m venv pyspark_venvsource source pyspark_venvsource/bin/activate # optionally, ensure pip is up-to-date pip3 install --upgrade pip # install the python packages pip3 install scipy pip3 install matplotlib # package the virtual environment into an archive pip3 install venv-pack venv-pack -f -o pyspark_venv.tar.gz # copy the archive to an S3 location aws s3 cp pyspark_venv.tar.gz s3://amzn-s3-demo-bucket/EXAMPLE-PREFIX/ # optionally, remove the virtual environment directory rm -fr pyspark_venvsource
  2. Envíe el trabajo de Spark con sus propiedades configuradas para usar el entorno virtual de Python.

    --conf spark.archives=s3://amzn-s3-demo-bucket/EXAMPLE-PREFIX/pyspark_venv.tar.gz#environment --conf spark.emr-serverless.driverEnv.PYSPARK_DRIVER_PYTHON=./environment/bin/python --conf spark.emr-serverless.driverEnv.PYSPARK_PYTHON=./environment/bin/python --conf spark.executorEnv.PYSPARK_PYTHON=./environment/bin/python

    Tenga en cuenta que si no anula el binario de Python original, será --conf spark.executorEnv.PYSPARK_PYTHON=python la segunda configuración de la secuencia de ajustes anterior.

    Para obtener más información sobre cómo utilizar los entornos virtuales de Python para los PySpark trabajos, consulte Uso de Virtualenv. Para ver más ejemplos de cómo enviar trabajos de Spark, consulte Uso de configuraciones de Spark al ejecutar trabajos de EMR sin servidor.

Configuración de PySpark trabajos para usar bibliotecas de Python

Con las versiones 6.12.0 y posteriores de Amazon EMR, puede configurar directamente los trabajos de EMR Serverless PySpark para utilizar bibliotecas Python populares de ciencia de datos, como pandas, y sin necesidad de realizar ninguna configuración adicional. NumPyPyArrow

Los siguientes ejemplos muestran cómo empaquetar cada biblioteca de Python para un PySpark trabajo.

NumPy

NumPy es una biblioteca de Python para computación científica que ofrece matrices y operaciones multidimensionales para matemáticas, clasificación, simulación aleatoria y estadísticas básicas. Para utilizarla NumPy, ejecute el siguiente comando:

import numpy
pandas

pandas es una biblioteca de Python que se basa en. NumPy La biblioteca de pandas proporciona a los científicos de datos estructuras de DataFramedatos y herramientas de análisis de datos. Para usar pandas, ejecute el siguiente comando:

import pandas
PyArrow

PyArrow es una biblioteca de Python que administra datos en columnas en memoria para mejorar el rendimiento laboral. PyArrow se basa en la especificación de desarrollo multilenguaje Apache Arrow, que es una forma estándar de representar e intercambiar datos en formato de columnas. Para usarlo PyArrow, ejecute el siguiente comando:

import pyarrow

NumPy es una biblioteca de Python para computación científica que ofrece matrices y operaciones multidimensionales para matemáticas, clasificación, simulación aleatoria y estadísticas básicas. Para utilizarla NumPy, ejecute el siguiente comando:

import numpy
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.