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 a questi dati. 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 l'interoperabilità continua tra Spark, Hadoop e i servizi Google.
- Accessibilità dei dati: quando arresti un cluster Hadoop, a differenza di HDFS, continui ad avere accesso ai tuoi dati in Cloud Storage.
- Disponibilità elevata dei dati: i dati archiviati in Cloud Storage sono ad alta disponibilità e replicati a livello globale senza perdita di prestazioni.
- Nessun overhead per la gestione dello spazio di archiviazione – A differenza di HDFS, Cloud Storage non richiede manutenzione di routine, come il controllo del file system, l'upgrade o il rollback a una versione precedente del file system.
- Avvio rapido – In HDFS, un job MapReduce non può essere avviato finché l'
NameNode
non è uscito dalla 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 all'avvio dei nodi delle attività, il che porta a significativi risparmi 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 sezioni seguenti descrivono i passaggi da seguire per configurare correttamente il connettore sul cluster Dataproc.
Autorizzazioni account di servizio
Quando si esegue il connettore all'interno di 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 VM.
Versioni del connettore non predefinite
Le versioni predefinite del connettore Cloud Storage utilizzate nelle immagini più recenti installate sui cluster Dataproc sono elencate nelle pagine delle versioni delle immagini del cluster (vedi Versioni di Dataproc supportate). Se l'applicazione dipende da una versione del connettore non predefinita di cui è stato eseguito il deployment nel 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 del connettore, oppure - includere e riposizionare le classi e le dipendenze del connettore per la versione che stai utilizzando nel jar dell'applicazione. Il trasferimento è necessario per evitare un conflitto tra la versione del connettore di cui hai eseguito il deployment e la versione predefinita del connettore installata sul cluster Dataproc (vedi l'esempio di riposizionamento delle dipendenze Maven).
Cluster non Dataproc
Scarica il connettore.
Per scaricare il connettore Cloud Storage per Hadoop:
- ultima versione situata nel bucket Cloud Storage (sconsigliato per l'uso in produzione):
- versione specifica
dal bucket Cloud Storage sostituendo le versioni dei connettori Hadoop e Cloud Storage nel
gcs-connector-HADOOP_VERSION-CONNECTOR_VERSION.jar
pattern del nome:- Esempio:
gs://hadoop-lib/gcs/gcs-connector-hadoop2-2.1.1.jar
- Esempio:
- una versione specifica
dal
Repository Maven di Apache
(scarica un file jar ombreggiato con il suffisso
-shaded
nel nome).
Installa il connettore.
Vedi 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 utilizzando il prefisso
gs://
. - La shell di wasoop:
hadoop fs -ls gs://bucket/dir/file
. - Il browser Cloud Storage della console Google Cloud.
- Utilizzando i comandi
gsutil cp
ogsutil rsync
.
Risorse
Versione Java
Il connettore Cloud Storage richiede Java 8.
Informazioni sulla dipendenza di 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 a Javadoc.
Passaggi successivi
- Scopri di più su Cloud Storage