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

  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 del connettore, oppure
  2. 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

  1. Scarica il connettore.

    Per scaricare il connettore Cloud Storage per Hadoop:

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

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