Introduzca datos en S3 Express One Zone 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.

Introduzca datos en S3 Express One Zone con EMR sin servidor

A partir de las versiones 7.2.0 y posteriores de Amazon EMR, puede utilizar Amazon EMR sin servidor con la clase de almacenamiento de Amazon S3 Express One Zone para mejorar el rendimiento al ejecutar trabajos y cargas de trabajo. S3 Express One Zone es una clase de almacenamiento de Amazon S3 en zona única de alto rendimiento que ofrece acceso constante a los datos en milisegundos de un solo dígito para los datos a los que accede para las aplicaciones más sensibles a la latencia. En el momento de su lanzamiento, S3 Express One Zone ofrece el almacenamiento de objetos en la nube con la latencia más baja y el rendimiento más alto de Amazon S3.

Requisitos previos

  • Permisos de S3 Express One Zone: cuando S3 Express One Zone realiza a una acción como GET, LIST o PUT en un objeto de S3, la clase de almacenamiento llama a CreateSession en su nombre. Su política de IAM debe permitir el s3express:CreateSession permiso para que S3A el conector puede invocar la CreateSession API. Para ver un ejemplo de política con ese permiso, consulte Introducción a S3 Express One Zone.

  • S3A conector: para configurar Spark para que acceda a los datos de un depósito de Amazon S3 que utilice la clase de almacenamiento S3 Express One Zone, debe utilizar el conector Apache Hadoop S3A. Para usar el conector, asegúrese de que todos los S3 URIs utilicen el s3a esquema. Si no es así, puede cambiar la implementación del sistema de archivos que utiliza para los esquemas s3 y s3n.

Para cambiar el esquema s3, especifique las siguientes configuraciones de clúster:

[ { "Classification": "core-site", "Properties": { "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]

Para cambiar el esquema s3n, especifique las siguientes configuraciones de clúster:

[ { "Classification": "core-site", "Properties": { "fs.s3n.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3n.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]

Introducción a S3 Express One Zone

Siga estos pasos para empezar a utilizar S3 Express One Zone.

  1. Cree un punto de conexión de VPC. Agregue el punto de conexión com.amazonaws.us-west-2.s3express al punto de conexión de la VPC.

  2. Siga Introducción a Amazon EMR sin servidor para crear una aplicación con la etiqueta de versión 7.2.0 o superior de Amazon EMR.

  3. Configure su aplicación para que utilice el punto de conexión de VPC recién creado, un grupo de subredes privadas y un grupo de seguridad.

  4. Añada el permiso CreateSession a su rol de ejecución de trabajos.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "*", "Action": [ "s3express:CreateSession" ] } ] }
  5. Ejecute su trabajo. Tenga en cuenta que debe usar el esquema S3A para acceder a los depósitos de S3 Express One Zone.

    aws emr-serverless start-job-run \ --application-id <application-id> \ --execution-role-arn <job-role-arn> \ --name <job-run-name> \ --job-driver '{ "sparkSubmit": { "entryPoint": "s3a://<DOC-EXAMPLE-BUCKET>/scripts/wordcount.py", "entryPointArguments":["s3a://<DOC-EXAMPLE-BUCKET>/emr-serverless-spark/output"], "sparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=8g --conf spark.driver.cores=4 --conf spark.driver.memory=8g --conf spark.executor.instances=2 --conf spark.hadoop.fs.s3a.change.detection.mode=none --conf spark.hadoop.fs.s3a.endpoint.region={<AWS_REGION>} --conf spark.hadoop.fs.s3a.select.enabled=false --conf spark.sql.sources.fastS3PartitionDiscovery.enabled=false }'