Il connettore Cloud Storage è una libreria Java open source che ti consente di eseguire job Apache Hadoop o Apache Spark direttamente nei dati in Cloud Storage, e offre una serie di vantaggi rispetto alla scelta dell'HDFS (Hadoop Distributed File System).
Vantaggi del connettore Cloud Storage
- Accesso diretto ai dati: archivia i dati in Cloud Storage e accedi direttamente. Non è necessario prima trasferirli in HDFS.
- Compatibilità HDFS: puoi accedere facilmente ai dati in Cloud Storage utilizzando il prefisso
gs://
anzichéhdfs://
. - Interoperabilità: l'archiviazione dei dati in Cloud Storage consente l'interoperabilità senza interruzioni tra Spark, Hadoop e i servizi Google.
- Accessibilità dei dati: quando chiudi un cluster Hadoop, a differenza di HDFS, continui ad avere accesso ai tuoi dati in Cloud Storage.
- Disponibilità di dati elevata: i dati archiviati in Cloud Storage sono altamente disponibili e replicati a livello globale senza perdita di prestazioni.
- Nessun overhead di gestione dello spazio di archiviazione: a differenza di HDFS, Cloud Storage non richiede alcuna manutenzione di routine, come 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 finché
NameNode
non è in modalità provvisoria, un processo che può richiedere da alcuni 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 attività, il che porta a risparmi significativi sui costi nel tempo.
Recupero del connettore in corso...
Cluster Dataproc
Il connettore Cloud Storage è installato per impostazione predefinita su tutti i nodi del cluster Dataproc nella directory /usr/local/share/google/dataproc/lib/
.
Se la tua applicazione dipende da una versione del connettore diversa dalla versione del connettore di cui è stato eseguito il deployment nel cluster Dataproc, devi:
- creare un nuovo cluster con il flag
--metadata GCS_CONNECTOR_VERSION=x.y.z
, che aggiornerà il connettore utilizzato dalla tua applicazione alla versione specificata del connettore oppure - includi e trasferisci le classi e le dipendenze del connettore per la versione che stai utilizzando nel jar della tua applicazione, in modo che la versione utilizzata non sia in conflitto con la versione del connettore di cui è stato eseguito il deployment nel cluster Dataproc (consulta questo esempio di riassegnazione delle dipendenze in Maven).
Cluster non Dataproc
Scarica il connettore.
Per scaricare il connettore Cloud Storage per Hadoop:
- ultima versione situata nel bucket Cloud Storage (sconsigliata per l'uso in produzione):
- versione specifica del bucket Cloud Storage sostituendo le versioni del connettore Hadoop e Cloud Storage con il pattern del nome
gcs-connector-HADOOP_VERSION-CONNECTOR_VERSION.jar
:- Esempio:
gs://hadoop-lib/gcs/gcs-connector-hadoop2-2.1.1.jar
- Esempio:
- versione specifica dal repository Apache Maven (dovresti scaricare un jar ombreggiato con il suffisso
-shaded
nel nome):
Installa il connettore.
Consulta l'articolo su come installare il connettore su GitHub per installare, configurare e testare il connettore Cloud Storage.
Utilizzo del connettore
Esistono diversi modi per accedere ai dati archiviati in Cloud Storage:
- In un'applicazione Spark (o PySpark) o Hadoop utilizzando il prefisso
gs://
. - La shell sheoop:
hadoop fs -ls gs://bucket/dir/file
. - Il browser Cloud Storage di Google Cloud Console.
- Con i comandi
gsutil cp
ogsutil rsync
.
Risorse
Versione Java
Il connettore Cloud Storage richiede Java 8.
Informazioni sulla dipendenza da 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 le note di rilascio del connettore Cloud Storage e il riferimento Javadoc.
Passaggi successivi
- Scopri di più su Cloud Storage