Il connettore Cloud Storage è un libreria Java open source che ti consente di eseguire Apache Hadoop oppure Job Apache Spark direttamente su in Cloud Storage e offre una serie di vantaggi rispetto alla scelta Hadoop Distributed File System (HDFS).
Vantaggi del connettore Cloud Storage
- Accesso diretto ai dati: archivia i tuoi dati in Cloud Storage e di accedervi direttamente. Non è necessario trasferirlo prima in HDFS.
- Compatibilità HDFS. Puoi accedere facilmente ai tuoi dati in
Cloud Storage utilizzando il prefisso
gs://
anzichéhdfs://
. - Interoperabilità: l'archiviazione dei dati in Cloud Storage consente interoperabilità perfetta tra i servizi Spark, Hadoop e Google.
- Accessibilità dei dati: quando arresti un cluster Hadoop, a differenza HDFS, continuerai ad avere accesso ai tuoi dati in Cloud Storage.
- Disponibilità elevata di dati: i dati archiviati in Cloud Storage vengono ad alta disponibilità e replicati a livello globale senza compromettere le prestazioni.
- Nessun overhead per la gestione dello spazio di archiviazione: a differenza di HDFS, Cloud Storage non richiede alcuna manutenzione di routine, ad esempio il controllo del file system o l'upgrade o il rollback a una versione precedente del file system.
- Avvio rapido. In HDFS, un job MapReduce non può essere avviato fino a quando
NameNode
è fuori dalla modalità provvisoria, una procedura che può richiedere da alcune da secondi a molti minuti, a seconda delle dimensioni e dello stato dei dati. Con Cloud Storage, puoi avviare il job non appena vengono avviati i nodi delle attività il che si traduce in un significativo risparmio sui costi nel tempo.
Configurazione del connettore Cloud Storage del cluster Dataproc
Il connettore Cloud Storage è installato per impostazione predefinita su tutti
dei nodi dei cluster Dataproc
Directory /usr/local/share/google/dataproc/lib/
.
Le seguenti sezioni descrivono i passaggi che puoi eseguire per configurare correttamente il connettore sul cluster Dataproc.
Autorizzazioni account di servizio
Quando esegui il connettore all'interno delle VM di Compute Engine,
inclusi i cluster Dataproc,
La proprietà google.cloud.auth.service.account.enable
è impostata
a false
per impostazione predefinita, il che significa che non è necessario configurare manualmente
l'account di servizio
per il connettore; ottiene un account di servizio
con le credenziali del server di metadati della VM.
Versioni del connettore non predefinite
Le versioni predefinite del connettore Cloud Storage utilizzate nelle immagini più recenti installati sui cluster Dataproc sono elencati nell'immagine del cluster le pagine delle versioni (vedi Versioni di Dataproc supportate). Se l'applicazione dipende da un connettore non predefinito di cui è stato eseguito il deployment nel cluster, devi:
- crea un cluster con l'oggetto
--metadata=GCS_CONNECTOR_VERSION=x.y.z
che aggiorna il connettore utilizzato dalle applicazioni in esecuzione sul cluster alla versione specificata del connettore oppure - includi e trasferire le classi e le dipendenze del connettore per la versione in uso nel jar dell'applicazione. Il trasferimento è necessario per evitare un conflitto tra della versione del connettore di cui hai eseguito il deployment del connettore installato sul cluster Dataproc (vedi il Esempio di relocation delle dipendenze Maven).
Cluster non Dataproc
Scarica il connettore.
Per scaricare il connettore Cloud Storage per Hadoop:
- versione più recente situata nel bucket Cloud Storage (l'uso non è consigliato in produzione):
- versione specifica
dal bucket Cloud Storage, sostituendo Hadoop
Le versioni del connettore Cloud Storage
gcs-connector-HADOOP_VERSION-CONNECTOR_VERSION.jar
pattern nome:- Esempio:
gs://hadoop-lib/gcs/gcs-connector-hadoop2-2.1.1.jar
- Esempio:
- versione specifica
dal
Repository Maven di Apache
(scarica un jar ombreggiato che ha il suffisso
-shaded
nel nome.
Installa il connettore.
Consulta l'articolo Installazione del connettore. su GitHub per installare, configurare e testare il connettore Cloud Storage.
Utilizzare il connettore
Esistono diversi modi per accedere ai dati archiviati in Cloud Storage:
- In un'applicazione Spark (o PySpark) o Hadoop che utilizza il prefisso
gs://
. - La shell Hadoop:
hadoop fs -ls gs://bucket/dir/file
. - La Browser Cloud Storage della console Google Cloud.
- Se utilizzi
gcloud storage cp
o Comandigcloud storage rsync
.
Risorse
Versione Java
Il connettore Cloud Storage richiede Java 8.
Informazioni sulla dipendenza Apache Maven
<dependency> <groupId>com.google.cloud.bigdataoss</groupId> <artifactId>gcs-connector</artifactId> <version>insert "hadoopX-X.X.X" connector version number here</version> <scope>provided</scope> </dependency>
o, per la versione ombreggiata:
<dependency> <groupId>com.google.cloud.bigdataoss</groupId> <artifactId>gcs-connector</artifactId> <version>insert "hadoopX-X.X.X" connector version number here</version> <scope>provided</scope> <classifier>shaded</classifier> </dependency>
Per informazioni più dettagliate, consulta il connettore Cloud Storage note di rilascio e Riferimento Javadoc.
Passaggi successivi
- Scopri di più su Cloud Storage