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.
Committer S3A MagicV2
Con la versión EMR-6.15.0, Amazon EMR presenta un nuevo tipo de confirmador S3A conocido como confirmador MagicV2. Para obtener información completa sobre esta función, consulte las secciones de documentación correspondientes.
El MagicV2 Committer representa una implementación mejorada del código abierto MagicCommitter
En comparación con el original MagicCommitter, el programador MagicV2 demuestra un rendimiento superior al escribir los archivos en la ubicación de salida del trabajo durante la fase de confirmación de la tarea, en lugar de la fase de confirmación del trabajo. Este enfoque permite la escritura distribuida de archivos y elimina la necesidad de almacenar temporalmente los metadatos de confirmación en Amazon S3, lo que se traduce en una mayor rentabilidad. Además, el archivador MagicV2 ofrece una mayor flexibilidad, ya que permite sobrescribir las rutas de los archivos en varios subprocesos durante el proceso de confirmación.
Activa el Committer MagicV2
Para habilitar el confirmador de MagicV2, introduzca la siguiente configuración en la configuración de su trabajo o utilice la configuración del sitio principal para establecer la propiedad. Para obtener más información, consulte Configuración de aplicaciones.
mapreduce.outputcommitter.factory.scheme.s3a=org.apache.hadoop.fs.s3a.commit.S3ACommitterFactory fs.s3a.committer.magic.enabled=true fs.s3a.committer.name=magicv2 fs.s3a.committer.magic.track.commits.in.memory.enabled=true
Para las cargas de trabajo que requieren sobrescribir el directorio existente antes de confirmar o escribir los nuevos archivos, se necesita la siguiente configuración adicional, junto con la configuración mencionada anteriormente.
fs.s3a.committer.magic.overwrite.and.commit=true fs.s3a.committer.magic.delete.directory.threads=
thread size
El valor predeterminado de la threads
configuración es. 20
Sin embargo, este parámetro debe ajustarse cuando haya que sobrescribir un gran número de directorios para mejorar el rendimiento. Está disponible solo en EMR-7.2.0 y versiones posteriores.
Consideraciones
-
Si la máquina virtual Java (JVM) se bloquea o se cierra mientras se ejecutan tareas y se escriben datos en Amazon S3, es más probable que las cargas multiparte incompletas se queden atrás. Por este motivo, cuando utilice el compilador MagicV2, asegúrese de seguir las prácticas recomendadas para gestionar las cargas multiparte fallidas. Para obtener más información, consulte la sección Prácticas recomendadas para trabajar con buckets de Amazon S3 en la Guía de administración de Amazon EMR.
-
Si se produce un error en un trabajo, todos los archivos archivados por las tareas realizadas correctamente seguirán estando visibles en la ruta de destino. En esos casos, el usuario tendrá que limpiar manualmente los archivos comprometidos antes de volver a ejecutar el trabajo en la misma ruta de destino.
-
El archivador MagicV2 consume una pequeña cantidad de memoria por cada archivo escrito por un intento de tarea hasta que la tarea se confirme o aborte. En la mayoría de los trabajos, la cantidad de memoria consumida es insignificante. Sin embargo, en algunos casos en los que un único proceso ejecutor gestiona un gran número de tareas de forma simultánea, puede suponer una gran carga para la memoria y el contenedor o el ejecutor podrían quedarse sin memoria (OOM). Aumentar la memoria del contenedor o del ejecutor debería solucionar este problema.