As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Transferência de dados para a classe S3 Express One Zone com o EMR Sem Servidor
Com as versões 7.2.0 e superiores do Amazon EMR, você pode usar o EMR Sem Servidor com a classe de armazenamento Amazon S3 Express One Zone para melhorar a performance ao executar trabalhos e workloads. O S3 Express One Zone é uma classe de armazenamento de zona única e alta performance do Amazon S3 que oferece acesso consistente a dados de milissegundos de um dígito para a maioria das aplicações sensíveis à latência. Na hora da execução, o S3 Express One Zone oferece o armazenamento de objetos na nuvem com a menor latência e a maior performance do Amazon S3.
Pré-requisitos
-
Permissões do S3 Express One Zone: quando o S3 Express One Zone inicialmente executa uma ação como
GET
,LIST
ouPUT
em um objeto do S3, a classe de armazenamento chamaCreateSession
em seu nome. Sua política do IAM deve conceder a permissãos3express:CreateSession
para que o conector S3A possa invocar a APICreateSession
. Para obter um exemplo de política com essa permissão, consulte Conceitos básicos da classe S3 Express One Zone. -
Conector S3A: para configurar o Spark para acessar dados de um bucket do Amazon S3 que usa a classe de armazenamento S3 Express One Zone, você deve usar o conector S3A do Apache Hadoop. Para usar o conector, certifique-se de que todos os URIs do S3 usem o esquema do
s3a
. Caso contrário, você pode alterar a implementação do sistema de arquivos usado para os esquemas dos3
e dos3n
.
Para alterar o esquema do s3
, especifique as seguintes configurações de cluster:
[ { "Classification": "core-site", "Properties": { "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
Para alterar o esquema do s3n
, especifique as seguintes configurações de cluster:
[ { "Classification": "core-site", "Properties": { "fs.s3n.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3n.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
Conceitos básicos da classe S3 Express One Zone
Siga estas etapas para começar a usar o S3 Express One Zone.
-
Crie um endpoint da VPC. Adicione o endpoint
com.amazonaws.us-west-2.s3express
ao endpoint da VPC. -
Siga Getting started with Amazon EMR Serverless para criar uma aplicação com o rótulo de lançamento 7.2.0 ou superior do Amazon EMR.
-
Configure a aplicação para usar o endpoint da VPC recém-criado, um grupo de sub-rede privada e um grupo de segurança.
-
Adicione a permissão
CreateSession
ao perfil de execução do trabalho.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "*", "Action": [ "s3express:CreateSession" ] } ] }
-
Execute o trabalho. Observe que você deve usar o esquema
S3A
para acessar os buckets do 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 }'