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.
Ejecución de trabajos de ETL de Spark con tiempos de inicio reducidos
La versión 2.0 de AWS Glue y posteriores proporcionan una infraestructura mejorada para ejecutar los trabajos de Apache Spark del servicio ETL (extracción, transformación y carga) en AWS Glue con tiempos de inicio reducidos. Con los tiempos de espera reducidos, los ingenieros de datos pueden ser más productivos y aumentar su interactividad con AWS Glue. La reducción de la variación en los tiempos de inicio de los trabajos puede ayudarlo a cumplir o superar los acuerdos de nivel de servicio respecto de la disponibilidad de datos para análisis.
Para utilizar esta característica con los trabajos de ETL de AWS Glue, elija 2.0
o una versión posterior para la Glue version
cuando cree sus trabajos.
Características nuevas admitidas
En esta sección, se describen las nuevas características compatibles con las versiones 2.0 de AWS Glue y posteriores.
Compatibilidad con especificación de módulos de Python adicionales al nivel de trabajo
La versión 2.0 de AWS Glue y posteriores también permiten proporcionar módulos de Python adicionales o versiones diferentes al nivel de trabajo. Puede utilizar la opción --additional-python-modules
con una lista de módulos Python separados por comas para agregar un nuevo módulo o cambiar la versión de un módulo existente.
Por ejemplo, para actualizar o agregar un nuevo módulo scikit-learn
utilice la siguiente clave/valor: "--additional-python-modules", "scikit-learn==0.21.3"
.
Además, dentro de la opción --additional-python-modules
, puede especificar una ruta de Amazon S3 a un módulo de wheel de Python. Por ejemplo:
--additional-python-modules s3://aws-glue-native-spark/tests/j4.2/ephem-3.7.7.1-cp37-cp37m-linux_x86_64.whl,s3://aws-glue-native-spark/tests/j4.2/fbprophet-0.6-py3-none-any.whl,scikit-learn==0.21.3
AWS Glue utiliza el instalador de paquetes de Python (pip3) para instalar los módulos adicionales. Puede transferir opciones adicionales especificadas por python-modules-installer-option
a pip3 para instalar los módulos. Será de aplicación cualquier incompatibilidad o limitación de pip3.
Módulos de Python ya proporcionados en AWS Glue versión 2.0
AWS Glue, versión 2.0 soporta los siguientes módulos de Python listos para su uso:
setuptools—45.2.0
subprocess32—3.5.4
ptvsd—4.3.2
pydevd—1.9.0
PyMySQL: 0.9.3
docutils—0.15.2
jmespath—0.9.4
six—1.14.0
python_dateutil—2.8.1
urllib3—1.25.8
botocore—1.15.4
s3transfer—0.3.3
boto3—1.12.4
certifi—2019.11.28
chardet—3.0.4
idna—2.9
requests—2.23.0
pyparsing—2.4.6
enum34—1.1.9
pytz—2019.3
numpy—1.18.1
cycler—0.10.0
kiwisolver—1.1.0
scipy—1.4.1
pandas—1.0.1
pyarrow—0.16.0
matplotlib—3.1.3
pyhocon—0.3.54
mpmath—1.1.0
sympy—1.5.1
patsy—0.5.1
statsmodels—0.11.1
fsspec—0.6.2
s3f—0.4.0
Cython—0.29.15
joblib—0.14.1
pmdarima—1.5.3
scikit-learn—0.22.1
tbat—1.0.9
Comportamiento de registro
La versión 2.0 de AWS Glue y posteriores admiten diferentes comportamientos de registro predeterminados. Las diferencias incluyen:
El registro se produce en tiempo real.
Hay flujos separados para controladores y ejecutores.
Para cada controlador y ejecutor hay dos flujos, el flujo de salida y el flujo de error.
Flujos de controladores y ejecutores
El ID de ejecución del trabajo identifica los flujos de controladores. Los flujos del ejecutor se identifican mediante el <run id
>_<executor task id
> del trabajo. Por ejemplo:
"logStreamName": "jr_8255308b426fff1b4e09e00e0bd5612b1b4ec848d7884cebe61ed33a31789..._g-f65f617bd31d54bd94482af755b6cdf464542..."
Flujos de salida y errores
El flujo de salida tiene la salida estándar (stdout) de su código. El flujo de error tiene mensajes de registro de su código/biblioteca.
Flujos de registro:
Los flujos de registro de controladores tienen <
jr
>, donde <jr
> es el ID de la ejecución de trabajo.Los flujos de registro del ejecutor tienen <
jr
>_<g
>, donde <g
> es el ID de tarea del ejecutor. Puede buscar el ID de tarea del ejecutor en el registro de errores del controlador.
Los grupos de registros predeterminados para AWS Glue, versión 2.0, son los siguientes:
/aws-glue/jobs/logs/output
para la salida/aws-glue/jobs/logs/error
para los errores
Cuando se proporciona una configuración de seguridad, los nombres de los grupos de registro cambian a:
/aws-glue/jobs/<
security configuration
>-role/<Role Name
>/output/aws-glue/jobs/<
security configuration
>-role/<Role Name
>/error
En la consola, el enlace Logs (Registros) vincula al grupo de registro de salida y el enlace Error vincula al grupo de registros de errores. Cuando se habilita el registro continuo, el enlace Logs (Registros) vincula al grupo de registros continuos, y el enlace Output (Salida) vincula al grupo de registro de salida.
Reglas de registro
nota
El nombre de grupo de registro predeterminado para el registro continuo es /aws-glue/jobs/logs-v2
.
En las versiones 2.0 de AWS Glue y posteriores, el registro continuo tiene el mismo comportamiento que en la versión 1.0 de AWS Glue:
Grupo de registros predeterminado:
/aws-glue/jobs/logs-v2
Flujo de registro del controlador: <
jr
>-driverFlujo de registro del ejecutor: <
jr
>-<executor ID
>Se puede cambiar el nombre del grupo de registros si configura
--continuous-log-logGroupName
El nombre de los flujos de registro puede tener un prefijo si configura
--continous-log-logStreamPrefix
Características no admitidas
Las siguientes características de AWS Glue no son compatibles:
Puntos de enlace de desarrollo
Las versiones 2.0 de AWS Glue y posteriores no se ejecutan en Apache YARN, por lo que la configuración de YARN no se aplica
Las versiones 2.0 de AWS Glue y posteriores no tienen Hadoop Distributed File System (HDFS)
AWS GlueLas versiones 2.0 de y posteriores no utilizan asignación dinámica, por lo tanto, las ExecutorAllocationManager métricas no están disponibles
Para trabajos de versiones 2.0 de AWS Glue y posteriores, se debe especificar el número de empleados y el tipo de empleado, pero no la
maxCapacity
.-
Las versiones 2.0 de AWS Glue y posteriores no son compatibles con
s3n
sin configurar. Se recomienda utilizars3
os3a
. Si los trabajos requieren el uso des3n
por cualquier motivo, puede transferir el siguiente argumento adicional:--conf spark.hadoop.fs.s3n.impl=com.amazon.ws.emr.hadoop.fs.EmrFileSystem