Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Caricamento dei dati in Amazon S3 Express One Zone
Panoramica
Con Amazon EMR 6.15.0 e versioni successive, puoi usare Amazon EMR con Apache Spark insieme alla classe di storage Amazon S3 Express One Zone per migliorare le prestazioni nei tuoi job Spark. EMRLe versioni di Amazon 7.2.0 e successive supportano HBase anche Flink e Hive, quindi puoi trarre vantaggio anche da S3 Express One Zone se utilizzi queste applicazioni. S3 Express One Zone è una classe di storage S3 per applicazioni che accedono frequentemente ai dati con centinaia di migliaia di richieste al secondo. Al momento del suo rilascio, S3 Express One Zone offre lo storage di oggetti cloud con la latenza più bassa e le prestazioni più elevate in Amazon S3.
Prerequisiti
-
Autorizzazioni S3 Express One Zone: quando S3 Express One Zone richiama inizialmente un'operazione come
GET
,LIST
oPUT
su un oggetto S3, la classe di archiviazione chiamaCreateSession
per tuo conto. La tua IAM politica deve consentire l'autorizzazione in modo che ils3express:CreateSession
S3A il connettore può invocare il.CreateSession
API Per un esempio di policy con questa autorizzazione, consulta Nozioni di base su Amazon S3 Express One Zone. -
S3A connettore: per configurare il cluster Spark per accedere ai dati da un bucket Amazon S3 che utilizza la classe di storage S3 Express One Zone, devi utilizzare il connettore Apache Hadoop S3A. Per utilizzare il connettore, assicurati che tutti gli S3 URIs utilizzino lo
s3a
schema. In caso contrario, puoi modificare l'implementazione del file system che utilizzi per gli schemis3
es3n
.
Per modificare lo schema s3
, specifica le seguenti configurazioni del cluster:
[ { "Classification": "core-site", "Properties": { "fs.s3.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
Per modificare lo schema s3n
, specifica le seguenti configurazioni del cluster:
[ { "Classification": "core-site", "Properties": { "fs.s3n.impl": "org.apache.hadoop.fs.s3a.S3AFileSystem", "fs.AbstractFileSystem.s3n.impl": "org.apache.hadoop.fs.s3a.S3A" } } ]
Nozioni di base su Amazon S3 Express One Zone
Argomenti
Creazione di una policy di autorizzazione
Prima di poter creare un cluster che utilizza Amazon S3 Express One Zone, devi creare una IAM policy da collegare al profilo dell'EC2istanza Amazon per il cluster. La policy deve disporre delle autorizzazioni per accedere alla classe di storage S3 Express One Zone. La policy di esempio seguente mostra come concedere l'autorizzazione richiesta. Dopo aver creato la policy, associa la policy al ruolo del profilo di istanza che utilizzi per creare il EMR cluster, come descritto nella Creazione e configurazione del cluster sezione.
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:s3express:
region-code
:account-id
:bucket/DOC-EXAMPLE-BUCKET", "Action": [ "s3express:CreateSession" ] } ] }
Creazione e configurazione del cluster
Quindi, crea un cluster che esegua SparkHBase, Flink o Hive con S3 Express One Zone. I passaggi seguenti descrivono una panoramica di alto livello per creare un cluster nella AWS Management Console:
-
Vai alla EMR console Amazon e seleziona Clusters dalla barra laterale. Quindi, scegli Crea cluster.
-
Se usi Spark, seleziona la EMR versione Amazon
emr-6.15.0
o successiva. Se usi HBase Flink o Hive, selezionaemr-7.2.0
o una versione successiva. -
Seleziona le applicazioni che desideri includere nel cluster, come Spark o FlinkHBase.
-
Per abilitare Amazon S3 Express One Zone, inserisci una configurazione simile all'esempio seguente nella sezione Impostazioni software. Le configurazioni e i valori consigliati sono descritti nella sezione Panoramica delle configurazioni che segue questa procedura.
[ { "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" } } ] -
Nella EMR sezione Profilo dell'EC2istanza per Amazon, scegli di utilizzare un ruolo esistente e utilizza un ruolo con la politica allegata che hai creato nella Creazione di una policy di autorizzazione sezione precedente.
-
Configura il resto delle impostazioni del cluster in base all'applicazione, quindi seleziona Crea cluster.
Panoramica delle configurazioni
Le tabelle seguenti descrivono le configurazioni e i valori suggeriti da specificare quando si configura un cluster che utilizza S3 Express One Zone con AmazonEMR, come descritto nella Creazione e configurazione del cluster sezione.
S3A configurazioni
Parametro | Valore predefinito | Valore consigliato | Spiegazione |
---|---|---|---|
|
Se non specificato, viene utilizzato |
|
Il ruolo del profilo dell'EMRistanza Amazon deve avere la politica che consente di S3A filesystem da chiamare. |
|
null |
Il Regione AWS luogo in cui hai creato il bucket. |
La logica di risoluzione regionale non funziona con la classe di storage S3 Express One Zone. |
|
|
|
Amazon S3 |
|
|
nessuno |
Rilevamento delle modifiche tramite S3A funziona controllando MD5basato |
Spark configurazioni
Parametro | Valore predefinito | Valore consigliato | Spiegazione |
---|---|---|---|
|
|
false
|
L'ottimizzazione interna utilizza un API parametro S3 che la classe di storage S3 Express One Zone non supporta. |
Considerazioni
Considera quanto segue quando integri Apache Spark su Amazon EMR con la classe di storage S3 Express One Zone:
-
Il connettore S3A è necessario per utilizzare S3 Express One Zone con Amazon. EMR Solo S3A dispone delle funzionalità e delle classi di storage necessarie per interagire con S3 Express One Zone. Per le fasi di configurazione del connettore, consulta Prerequisiti.
-
La classe di storage Amazon S3 Express One Zone è supportata solo con Spark su un EMR cluster Amazon eseguito su Amazon. EC2
-
La classe di storage Amazon S3 Express One Zone supporta solo SSE-S3 crittografia. Per ulteriori informazioni, consulta Crittografia lato server con chiavi SSE gestite Amazon S3 (-S3).
-
La classe di storage Amazon S3 Express One Zone non supporta le scritture con S3A
FileOutputCommitter
. Le scritture con S3A su bucket S3 ExpressFileOutputCommitter
One Zone generano un errore: InvalidStorageClass: The storage class you specified is not valid. -
Amazon S3 Express One Zone è supportato dalle EMR versioni di Amazon 6.15.0 e successive. EMR EC2 Inoltre, è supportato dalle EMR versioni di Amazon 7.2.0 e successive su Amazon su EKS e EMR su Amazon EMR Serverless.