Il connettore Cloud Storage è una libreria Java open source che consente di eseguire job Apache Hadoop o Apache Spark direttamente sui dati in Cloud Storage e offre una serie di vantaggi rispetto alla scelta del file system distribuito Hadoop (HDFS).
Vantaggi del connettore Cloud Storage
- Accesso diretto ai dati: archivia i tuoi dati in Cloud Storage e accedi direttamente. Non è necessario trasferirlo prima 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 dati in Cloud Storage.
- Elevata disponibilità dei dati: i dati archiviati in Cloud Storage sono ad alta disponibilità e replicati a livello globale senza perdere le prestazioni.
- Nessun overhead per la gestione dello spazio di archiviazione: a differenza di HDFS, Cloud Storage non richiede manutenzione ordinaria, 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 pochi 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 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 i nodi del cluster Dataproc nella directory /usr/local/share/google/dataproc/lib/
.
Le seguenti sezioni descrivono i passaggi che puoi seguire per configurare correttamente il connettore nel cluster Dataproc.
Autorizzazioni account di servizio
Quando si esegue il connettore all'interno delle VM di Compute Engine, inclusi i cluster Dataproc, la proprietà google.cloud.auth.service.account.enable
è impostata su false
per impostazione predefinita, il che significa che non è necessario configurare manualmente un account di servizio per il connettore; le credenziali dell'account di servizio vengono ricevute dal server di metadati delle VM.
Versioni non predefinite del connettore
Le versioni predefinite del connettore Cloud Storage utilizzate nelle immagini più recenti installate sui cluster Dataproc sono elencate nelle pagine delle versioni delle immagini cluster (vedi Versioni Dataproc supportate). Se la tua applicazione dipende da una versione di connettore non predefinito di cui è stato eseguito il deployment nel tuo cluster, devi:
- creare un cluster con il flag
--metadata=GCS_CONNECTOR_VERSION=x.y.z
, che aggiorna il connettore utilizzato dalle applicazioni in esecuzione sul cluster alla versione specificata per il connettore; - Includere e riposizionare le classi di connettori e le dipendenze dei connettori per la versione utilizzata nel jar dell'applicazione. La riallocazione è necessaria per evitare conflitti tra la versione del connettore di cui hai eseguito il deployment e la versione predefinita del connettore installata sul cluster Dataproc (consulta l'esempio di riposizionamento 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 (sconsigliato per l'utilizzo in produzione):
- versione specifica dal bucket Cloud Storage sostituendo le versioni del connettore Hadoop e Cloud Storage nel pattern 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 (scarica un jar ombreggiato che contiene il suffisso
-shaded
).
Installa il connettore.
Consulta la pagina relativa all'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 del sheoop:
hadoop fs -ls gs://bucket/dir/file
. - Il browser Cloud Storage della console Google Cloud.
- Utilizzare i comandi
gsutil cp
ogsutil rsync
.
Risorse
Versione Java
Il connettore Cloud Storage richiede Java 8.
Apache Maven Dependency
<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