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.
Carga de datos en Amazon S3 Express One Zone
Información general
Con Amazon EMR 6.15.0 y versiones posteriores, puede utilizar Amazon EMR con Apache Spark junto con la clase de almacenamiento Amazon S3 Express One Zone para mejorar el rendimiento de sus trabajos de Spark. EMRLas versiones 7.2.0 y posteriores de Amazon también son compatibles HBase con Flink y Hive, por lo que también puede beneficiarse de S3 Express One Zone si utiliza estas aplicaciones. S3 Express One Zone es una clase de almacenamiento de S3 para aplicaciones que acceden con frecuencia a los datos con cientos de miles de solicitudes por segundo. 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
oPUT
en un objeto de S3, la clase de almacenamiento llama aCreateSession
en su nombre. Su IAM política debe permitir els3express:CreateSession
permiso para que S3A el conector puede invocar elCreateSession
API. Para ver un ejemplo de política con ese permiso, consulte Introducción a Amazon S3 Express One Zone. -
S3A conector: para configurar su clúster de Spark para acceder a los datos de un depósito de Amazon S3 que utiliza la clase de almacenamiento S3 Express One Zone, debe usar 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 esquemass3
ys3n
.
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 Amazon S3 Express One Zone
Temas
Creación de una política de permisos
Antes de poder crear un clúster que utilice Amazon S3 Express One Zone, debe crear una IAM política para adjuntarla al perfil de EC2 instancia de Amazon del clúster. La política debe tener permisos para acceder a la clase de almacenamiento S3 Express One Zone. En la siguiente política de ejemplo, se muestra cómo conceder los permisos necesarios. Tras crear la política, asocie la política al rol de perfil de instancia que utilice para crear el EMR clúster, tal y como se describe en la Creación y configuración de un clúster sección.
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:s3express:
region-code
:account-id
:bucket/DOC-EXAMPLE-BUCKET", "Action": [ "s3express:CreateSession" ] } ] }
Creación y configuración de un clúster
A continuación, crea un clúster que ejecute SparkHBase, Flink o Hive con S3 Express One Zone. En los siguientes pasos, se ofrece información general de alto nivel para crear un clúster en la AWS Management Console:
-
Ve a la EMR consola de Amazon y selecciona Clusters en la barra lateral. A continuación, elija Crear clúster.
-
Si utilizas Spark, selecciona la versión de Amazon
emr-6.15.0
o una EMR versión superior. Si usas HBase Flink o Hive, seleccionaemr-7.2.0
o una versión superior. -
Seleccione las aplicaciones que desee incluir en el clúster, como Spark o HBase Flink.
-
Para habilitar Amazon S3 Express One Zone, introduzca una configuración similar a la del siguiente ejemplo en la sección Configuración de software. Las configuraciones y los valores recomendados se describen en la sección Información general sobre las configuraciones que sigue a este procedimiento.
[ { "Classification": "core-site", "Properties": { "fs.s3a.aws.credentials.provider": "software.amazon.awssdk.auth.credentials.InstanceProfileCredentialsProvider", "fs.s3a.change.detection.mode": "none", "fs.s3a.endpoint.region": "
aa-example-1
", "fs.s3a.select.enabled": "false" } }, { "Classification": "spark-defaults", "Properties": { "spark.sql.sources.fastS3PartitionDiscovery.enabled": "false" } } ] -
En la EMR sección Perfil de EC2 instancia de Amazon, elige usar un rol existente y usa un rol con la política adjunta que creaste en la Creación de una política de permisos sección anterior.
-
Configure el resto de los ajustes del clúster según corresponda para su aplicación y, a continuación, seleccione Crear clúster.
Información general sobre las configuraciones
En las siguientes tablas se describen las configuraciones y los valores sugeridos que debe especificar al configurar un clúster que utilice S3 Express One Zone con AmazonEMR, tal y como se describe en la Creación y configuración de un clúster sección.
S3A configuraciones
Parámetro | Valor predeterminado | Valor sugerido | Explicación |
---|---|---|---|
|
Si no se especifica, se utiliza |
|
El rol del perfil de EMR instancia de Amazon debe tener la política que permita S3A sistema de archivos al que llamar. |
|
null |
El Región de AWS lugar donde creaste el depósito. |
La lógica de resolución regional no funciona con la clase de almacenamiento S3 Express One Zone. |
|
|
|
|
|
|
Ninguno |
Detección de cambios por S3A funciona comprobando MD5basado |
Spark configuraciones
Parámetro | Valor predeterminado | Valor sugerido | Explicación |
---|---|---|---|
|
|
false
|
La optimización interna utiliza un API parámetro S3 que la clase de almacenamiento S3 Express One Zone no admite. |
Consideraciones
Tenga en cuenta lo siguiente al integrar Apache Spark en Amazon EMR con la clase de almacenamiento S3 Express One Zone:
-
Se requiere el conector S3A para utilizar S3 Express One Zone con AmazonEMR. Solo S3A tiene las características y las clases de almacenamiento necesarias para interactuar con S3 Express One Zone. Para ver los pasos para configurar el conector, consulte Requisitos previos.
-
La clase de almacenamiento Amazon S3 Express One Zone solo es compatible con Spark en un EMR clúster de Amazon que se ejecute en AmazonEC2.
-
La clase de almacenamiento Amazon S3 Express One Zone solo admite SSE-S3 cifrado. Para obtener más información, consulte Cifrado del lado del servidor con claves administradas de Amazon S3 (SSE-S3).
-
La clase de almacenamiento Amazon S3 Express One Zone no es compatible con la escritura con el
FileOutputCommitter
de S3A. Si se escribe con el S3AFileOutputCommitter
en los buckets de S3 Express One Zone, se produce un error: InvalidStorageClass: The storage class you specified is not valid. -
Amazon S3 Express One Zone es compatible con las EMR versiones 6.15.0 y posteriores de Amazon. EMR EC2 Además, es compatible con las EMR versiones 7.2.0 y posteriores de Amazon EKS y EMR Amazon EMR Serverless.