Connettore Cloud Storage

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:

  1. 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;
  2. 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

  1. Scarica il connettore.

    Per scaricare il connettore Cloud Storage per Hadoop:

  2. 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:

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