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à.
Lavorare con sistemi di storage e file con Amazon EMR
Amazon EMR e Hadoop offrono un'ampia gamma di file system che puoi utilizzare durante l'elaborazione delle fasi del cluster. Puoi specificare il file system da utilizzare tramite il prefisso dell'URI di accesso ai dati. Ad esempio s3://amzn-s3-demo-bucket1/path fa riferimento a un bucket Amazon S3 che utilizza S3A (poiché EMR-7.10.0 versione). La tabella seguente elenca i file system disponibili, con suggerimenti riguardo all'utilizzo più appropriato per ciascuno.
Amazon EMR e Hadoop in genere usano due o più dei seguenti file system durante l'elaborazione di un cluster. HDFS e S3A sono i due principali file system utilizzati con Amazon EMR.
Importante
A partire dalla versione 5.22.0 di Amazon EMR, Amazon EMR utilizza AWS Signature Version 4 esclusivamente per autenticare le richieste ad Amazon S3. Le versioni precedenti di Amazon EMR utilizzano AWS La versione 2 di Signature in alcuni casi, a meno che le note di rilascio non indichino che viene utilizzata esclusivamente la versione 4 di Signature. Per ulteriori informazioni, vedere Autenticazione delle richieste (AWS Signature (versione 4) e Autenticazione delle richieste (AWS Signature (versione 2) nel Guida per sviluppatori di Amazon Simple Storage Service.
| File system | Prefix | Description |
|---|---|---|
| HDFS | hdfs:// (o nessun prefisso) |
HDFS è un file system distribuito, scalabile e portatile per Hadoop. HDFS ha il vantaggio di garantire la consapevolezza dei dati tra i nodi del cluster Hadoop che gestiscono i cluster e i nodi del cluster Hadoop che gestiscono le singole fasi. Per ulteriori informazioni, consulta la documentazione di Hadoop HDFS viene utilizzato per i nodi master e principali. Uno dei vantaggi è la sua rapidità, mentre ha lo svantaggio di essere uno storage temporaneo che viene recuperato quando il cluster termina. Trova il miglior utilizzo nel caching dei risultati prodotti dalle fasi intermedie del flusso di elaborazione. |
| S3A | s3://, s3a://, s3n:// |
Il file system Hadoop S3A è un connettore S3 open source che consente ad Apache Hadoop e al suo ecosistema di interagire direttamente con lo storage Amazon S3. Consente agli utenti di leggere e scrivere dati su bucket S3 utilizzando Hadoop-compatible operazioni sui file, fornendo una perfetta integrazione tra le applicazioni Hadoop e il cloud storage. NotaPrima di EMR-7.10.0, Amazon EMR utilizzava EMRFS per s3:// e s3n:// schema. |
| File system locale |
Il file system locale fa riferimento a un disco con connessione locale. Al momento della creazione di un cluster Hadoop, ogni nodo viene creato da un'istanza EC2 fornita con un blocco preconfigurato di storage su disco precollegato, chiamato instance store. I dati in qualsiasi volume instance store sono persistenti solo durante il ciclo di vita della relativa istanza EC2. I volumi instance store sono ideali per lo storage di dati temporanei in continua evoluzione, come buffer, cache, dati Scratch e altri contenuti temporanei. Per ulteriori informazioni, consulta Archiviazione dell'istanza Amazon EC2. Il file system locale viene utilizzato da HDFS, ma Python viene eseguito anche dal file system locale ed è possibile scegliere di archiviare file di applicazione aggiuntivi sui volumi archivio istanza. |
|
| (Legacy) File system a blocchi Amazon S3 | s3bfs:// |
Il file system a blocchi Amazon S3 è un file storage system legacy. e ne sconsigliamo caldamente l'utilizzo. ImportanteConsigliamo di non utilizzare questo file system perché può attivare una race condition che può causare errori nel cluster. Tuttavia, può essere richiesto da applicazioni legacy. |
Accesso ai file system
Puoi specificare il file system da utilizzare tramite il prefisso dell'URI (Uniform Resource Identifier) di accesso ai dati. Le seguenti procedure illustrano come fare riferimento a diversi tipi di file system.
Per accedere all'HDFS locale
-
Specifica il prefisso
hdfs:///nell'URI. Amazon EMR risolve i percorsi che non specificano un prefisso nell'URI dell'HDFS locale. Ad esempio, entrambi i seguenti URI verrebbero risolti alla stessa posizione in HDFS.hdfs:///path-to-data/path-to-data
Per accedere all'HDFS remoto
-
Includi l'indirizzo IP del nodo master nell'URI, come illustrato negli esempi seguenti.
hdfs://master-ip-address/path-to-datamaster-ip-address/path-to-data
Accesso ad Amazon S3
-
Utilizza il prefisso
s3://.s3://bucket-name/path-to-file-in-bucket
Accesso al file system a blocchi Amazon S3
-
Utilizzalo solo per le applicazioni legacy che richiedono il file system a blocchi Amazon S3. Per accedere o archiviare i dati con questo file system, utilizza il prefisso
s3bfs://nell'URI.Il file system a blocchi Amazon S3 è un file system legacy utilizzato per supportare i caricamenti su Amazon S3 di dimensioni superiori a 5 GB. Con la funzionalità di caricamento in più parti fornita da Amazon EMR tramite AWS Java SDK, puoi caricare file di grandi dimensioni nel file system nativo di Amazon S3 e il file system a blocchi Amazon S3 è obsoleto. Per ulteriori informazioni sul caricamento in più parti per EMR, consulta Configura il caricamento in più parti per Amazon S3. Per ulteriori informazioni sui limiti delle dimensioni degli oggetti e delle parti di S3, vedere Limiti di caricamento multiparte di Amazon S3 nel Servizio Amazon Simple Storage Guida per l'utente.
avvertimento
Poiché questo file system legacy può creare race condition che possono danneggiare il file system, è opportuno evitarlo e utilizzare invece EMRFS.
s3bfs://bucket-name/path-to-file-in-bucket