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 su Amazon S3
Per istruzioni su come caricare oggetti su Amazon S3, consulta Aggiunta di un oggetto a un bucket nella Guida per l'utente di Amazon Simple Storage Service. Per ulteriori informazioni sull'uso di Amazon S3 con Hadoop, consulta http://wiki.apache. org/hadoop/AmazonS3.
Argomenti
Creazione e configurazione di un bucket Amazon S3
Amazon EMR utilizza il AWS SDK for Java con Amazon S3 per archiviare dati di input, file di log e dati di output. Amazon S3 fa riferimento a questi percorsi di archiviazione come bucket. I bucket presentano determinate restrizioni e limitazioni in conformità con i requisiti di Amazon S3 e DNS. Per ulteriori informazioni, consulta Restrizioni e limitazioni dei bucket nella Guida per l'utente di Amazon Simple Storage Service.
Questa sezione mostra come utilizzare Amazon S3 per creare e quindi impostare AWS Management Console le autorizzazioni per un bucket Amazon S3. È anche possibile creare e impostare autorizzazioni per un bucket Amazon S3 utilizzando l'API Amazon S3 o la AWS CLI. È anche possibile utilizzare Curl insieme a una modifica per passare i parametri di autenticazione appropriati per Amazon S3.
Consulta le seguenti risorse:
-
Per creare un bucket utilizzando la console, consultare Creare un bucket nella Guida per l'utente di Amazon S3.
-
Per creare e lavorare con i bucket utilizzando il AWS CLI, consulta Usare i comandi S3 di alto livello con la AWS Command Line Interface nella Amazon S3 User Guide.
-
Per creare un bucket tramite un SDK, consulta Esempi di creazione di un bucket nella Guida per l'utente di Amazon Simple Storage Service.
-
Per utilizzare i bucket mediante Curl, consulta Strumento di autenticazione Amazon S3 per Curl
. -
Per ulteriori informazioni sulla definizione di bucket specifici per Regione, consulta Accesso a un bucket nella Guida per l'utente di Amazon Simple Storage Service.
-
Per lavorare con bucket utilizzando Amazon S3 Access Points, consulta Utilizzo di un alias in stile bucket per il punto di accesso nella Guida per l'utente di Amazon S3. Puoi utilizzare facilmente Amazon S3 Access Points con l'alias di Access Point di Amazon S3 anziché il nome del bucket Amazon S3. Puoi utilizzare l'alias di Access Point di Amazon S3 per applicazioni esistenti e nuove, tra cui Spark, Hive, Presto e altre.
Nota
Se si abilita la registrazione per un bucket, saranno abilitati solo i log di accesso al bucket e non i log del cluster Amazon EMR.
Durante o dopo la creazione del bucket, è possibile impostare le autorizzazioni appropriate per accedere al bucket a seconda dell'applicazione. In genere, consenti a te stesso (il proprietario) l'accesso in lettura e scrittura e il solo accesso in lettura agli utenti autenticati.
Per poter creare un cluster, sono necessari i bucket Amazon S3 richiesti. È necessario caricare in Amazon S3 tutti gli script e i dati a cui viene fatto riferimento nel cluster. Nella seguente tabella vengono descritti dati, script e ubicazioni di file di log esempio.
Configurazione del caricamento in più parti per Amazon S3
Amazon EMR supporta il caricamento multiparte di Amazon S3 tramite l'SDK AWS for Java. Il caricamento in più parti consente di caricare un singolo oggetto come un insieme di parti. È possibile caricare queste parti dell'oggetto in modo indipendente e in qualsiasi ordine. Se la trasmissione di una parte non riesce, è possibile ritrasmettere tale parte senza influire sulle altre. Una volta caricate tutte le parti dell'oggetto, Amazon S3 le assembla e crea l'oggetto.
Per ulteriori informazioni, consulta Panoramica del caricamento in più parti nella Guida per l'utente di Amazon Simple Storage Service.
Inoltre, Amazon EMR include proprietà che consentono di controllare con maggiore precisione il cleanup delle parti di un caricamento in più parti.
Nella tabella seguente vengono descritte le proprietà di configurazione di Amazon EMR per il caricamento in più parti. Per la configurazione, utilizza la classificazione di configurazione core-site
. Per ulteriori informazioni, consulta Configurazione delle applicazioni nella Guida ai rilasci di Amazon EMR.
Nome del parametro di configurazione | Valore predefinito | Descrizione |
---|---|---|
fs.s3n.multipart.uploads.enabled |
true |
Un tipo booleano che indica se abilitare il caricamento in più parti. Quando la visualizzazione coerente EMRFS è abilitata, i caricamenti in più parti sono abilitati per impostazione predefinita e l'impostazione di questo valore su false viene ignorata. |
fs.s3n.multipart.uploads.split.size |
134217728 |
Specifica la dimensione massima di una parte, in byte, prima che EMRFS avvii il caricamento di una nuova parte quando è abilitato il caricamento in più parti. Il valore minimo è Se la crittografia lato client di EMRFS è disattivata e il committer ottimizzato Amazon S3 è disabilitato, questo valore controlla anche la dimensione massima di un file di dati che può aumentare finché EMRFS utilizza i caricamenti in più parti, anziché una richiesta |
fs.s3n.ssl.enabled |
true |
Un tipo booleano che indica se utilizzare http o https. |
fs.s3.buckets.create.enabled |
false |
Un tipo booleano che indica se è necessario creare un bucket in caso non esista. L'impostazione su false causa un'eccezione nelle operazioni CreateBucket . |
fs.s3.multipart.clean.enabled |
false |
Un tipo booleano che indica se abilitare il cleanup periodico in background dei caricamenti in più parti incompleti. |
fs.s3.multipart.clean.age.threshold |
604800 |
Un tipo long che specifica la durata minima, in secondi, di un caricamento in più parti, prima che venga considerato idonea per il cleanup. Il valore predefinito è una settimana. |
fs.s3.multipart.clean.jitter.max |
10000 |
Un numero intero che specifica il ritardo massimo, in secondi, nel jitter casuale aggiunto al ritardo fisso di 15 minuti prima di pianificare la fase successiva di cleanup. |
Disabilitazione dei caricamenti in più parti
Best practice
Di seguito sono riportate le raccomandazioni per l'utilizzo di bucket Amazon S3 con cluster EMR.
Abilita il controllo delle versioni
La funzione Versioni multiple è una configurazione consigliata per il bucket Amazon S3. Abilitando la funzione Versioni multiple, si garantisce che anche se i dati vengono eliminati o sovrascritti involontariamente, possono essere ripristinati. Per ulteriori informazioni, consulta Utilizzo del controllo delle versioni nella Guida per l'utente di Amazon Simple Storage Service.
Eliminazione dei caricamenti in più parti non riusciti
Per impostazione predefinita, i componenti del cluster EMR utilizzano caricamenti multiparte tramite l'SDK per AWS Java con Amazon S3 per scrivere file di log e inviare dati in uscita su Amazon APIs S3. Per ulteriori informazioni sulla modifica delle proprietà relative a questa configurazione utilizzando Amazon EMR, consulta Configurazione del caricamento in più parti per Amazon S3. A volte il caricamento di un file di grandi dimensioni può risultare in un caricamento in più parti incompleto Amazon S3. Quando un caricamento in più parti non riesce a essere completato con successo, il caricamento in più parti in corso continua a occupare il bucket e comporta costi di storage. Per evitare lo storage eccessivo dei dati, consigliamo le seguenti opzioni:
-
Per i bucket utilizzati con Amazon EMR, utilizza una regola di configurazione del ciclo di vita in Amazon S3 per rimuovere i caricamenti in più parti incompleti tre giorni dopo la data di inizio del caricamento. Le regole di configurazione del ciclo di vita consentono di controllare la classe di storage e la durata degli oggetti. Per ulteriori informazioni, consulta Gestione del ciclo di vita degli oggetti e Interruzione dei caricamenti in più parti incompleti utilizzando una policy per il ciclo di vita del bucket.
-
Abilita la funzione di eliminazione in più parti di Amazon EMR impostando
fs.s3.multipart.clean.enabled
sutrue
e l'ottimizzazione di altri parametri di eliminazione. Questa funzione è utile in caso di volume elevato, su larga scala e con cluster con tempi di attività limitati. In questo caso, il parametroDaysAfterIntitiation
di una regola di configurazione del ciclo di vita potrebbe essere troppo lungo, anche se impostato sul valore minimo, causando picchi di archiviazione in Amazon S3. L'eliminazione multiparte di Amazon EMR consente un controllo più preciso. Per ulteriori informazioni, consulta Configurazione del caricamento in più parti per Amazon S3.
Gestione dei contrassegni di versione
Consigliamo di abilitare una regola di configurazione del ciclo di vita in Amazon S3 per rimuovere i contrassegni di eliminazione dell'oggetto scaduto per i bucket con versione utilizzati con Amazon EMR. Quando si elimina un oggetto in un bucket con versione, viene creato un contrassegno di eliminazione. Se tutte le versioni precedenti dell'oggetto scadono successivamente, nel bucket viene lasciato un contrassegno di eliminazione dell'oggetto scaduto. Sebbene non sia previsto alcun costo per questi contrassegni di eliminazione, la loro rimozione può migliorare le prestazioni delle richieste di LIST. Per ulteriori informazioni, consulta Configurazione del ciclo di vita per un bucket con controllo delle versioni nella Guida per l'utente di Amazon Simple Storage Service.
Best practice sulle prestazioni
A seconda dei carichi di lavoro, tipi specifici di utilizzo dei cluster EMR e delle applicazioni su di essi possono portare a un elevato numero di richieste contro una bucket. Per maggiori informazioni, consulta Considerazioni sulla percentuale di richieste e sulle prestazioni nella Guida per l'utente di Amazon Simple Storage Service.