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.
Sistema de archivos de EMR (EMRFS)
El sistema de archivos de EMR (EMRFS) es una implementación de HDFS que utilizan todos los clústeres de Amazon EMR para leer y escribir archivos normales de Amazon EMR directamente en Amazon S3. EMRFS proporciona la comodidad de almacenar datos persistentes en Amazon S3 para su uso con Hadoop, al tiempo que proporciona características como el cifrado de datos.
El cifrado de datos permite cifrar los objetos que EMRFS escribe en Amazon S3 y permite a EMRFS trabajar con los objetos cifrados en Amazon S3. Si utiliza la versión 4.8.0 o posterior de Amazon EMR, puede utilizar los ajustes de seguridad para configurar el cifrado para los objetos de EMRFS en Amazon S3, junto con otros ajustes de cifrado. Para obtener más información, consulte Opciones de cifrado. Si utiliza una versión anterior de Amazon EMR, puede configurar manualmente los ajustes de cifrado. Para obtener más información, consulte Especificación del cifrado de Amazon S3 mediante propiedades de EMRFS.
Amazon S3 ofrece una coherencia sólida de lectura después de escritura para todas las operaciones GET, PUT y LIST en todas las Regiones de AWS. Esto significa que lo que escriba con EMRFS es lo que leerá en Amazon S3, sin que ello afecte al rendimiento. Para obtener más información, consulte el Modelo de consistencia de datos de Amazon S3.
Si utiliza la versión 5.10.0 o posterior de Amazon EMR, puede utilizar roles de IAM diferentes para las solicitudes de EMRFS a Amazon S3 en función de los usuarios o los grupos del clúster, o de la ubicación de los datos de EMRFS en Amazon S3. Para obtener más información, consulte Configuración de roles de IAM para solicitudes de EMRFS a Amazon S3.
aviso
Antes de activar la ejecución especulativa para los clústeres de Amazon EMR que ejecutan trabajos de Apache Spark, consulte la siguiente información.
EMRFS incluye el confirmador optimizado para EMRFS para S3, una OutputCommitter implementación que está optimizada para escribir archivos en Amazon S3 cuando se usa EMRFS. Si activa la característica de ejecución especulativa de Apache Spark con aplicaciones que escriben datos en Amazon S3 y no utilizan el confirmador optimizado para S3 de EMRFS, es posible que se produzcan los problemas de corrección de datos descritos en SPARK-10063
La escritura directa de EMRFS se suele utilizar cuando no se admite el confirmador optimizado para S3 de EMRFS, por ejemplo, cuando se escribe lo siguiente:
Un formato de salida distinto de Parquet, como ORC o texto.
Archivos de Hadoop que utilizan la API RDD de Spark.
SerDeParquet con Hive. Consulte Hive metastore Parquet table conversion
.
La escritura directa de EMRFS no se usa en los siguientes escenarios:
Cuando no está habilitado el confirmador optimizado para S3 de EMRFS. Consulte Requisitos para el confirmador optimizado para S3 de EMRFS.
Al escribir particiones dinámicas con el valor dinámico partitionOverwriteMode establecido en dinámico.
Al escribir en ubicaciones de particiones personalizadas, como ubicaciones que no se ajustan a la convención de ubicación de particiones predeterminada de Hive.
Cuando se utilizan sistemas de archivos distintos de EMRFS, como cuando se escribe en HDFS o se utiliza el sistema de archivos S3A.
Para determinar si su aplicación utiliza la escritura directa en Amazon EMR 5.14.0 o una versión posterior, habilite el registro INFO de Spark. Si hay una línea de registro que contiene el texto “Direct Write: ENABLED” en los registros del controlador de Spark o en los registros del contenedor del ejecutor de Spark, su aplicación de Spark ha escrito mediante escritura directa.
De forma predeterminada, la ejecución especulativa está activada OFF
en Amazon EMRclusters. Le recomendamos encarecidamente que no active la ejecución especulativa si se cumplen las dos condiciones siguientes:
Está escribiendo datos en Amazon S3.
Los datos se escriben en un formato distinto de Apache Parquet o en el formato Apache Parquet sin utilizar el confirmador optimizado para S3 de EMRFS.
Si activa la ejecución especulativa de Spark y escribe datos en Amazon S3 mediante la escritura directa de EMRFS, es posible que sufra una pérdida de datos intermitente. Cuando escribe datos en HDFS o escribe datos en Parquet mediante el confirmador optimizado para S3 de EMRFS, Amazon EMR no utiliza la escritura directa y este problema no ocurre.
Si necesita escribir datos en formatos que utilizan la escritura directa de EMRFS desde Spark a Amazon S3 y utilizar la ejecución especulativa, le recomendamos que escriba en HDFS y, a continuación, transfiera los archivos de salida a Amazon S3 mediante S3DistCp.