Questa pagina descrive come utilizzare i bucket con spazio dei nomi gerarchico abilitato per i carichi di lavoro Hadoop.
Panoramica
Quando utilizzi un bucket Cloud Storage con spazio dei nomi gerarchico, puoi configurare il connettore Cloud Storage in modo da utilizzare l'operazione Rinomina cartella per carichi di lavoro come Hadoop, Spark, Hive.
In un bucket senza spazio dei nomi gerarchico, un'operazione di ridenominazione in Hadoop, Spark, e Hive coinvolge più job di copia ed eliminazione degli oggetti, le prestazioni e la coerenza. La ridenominazione di una cartella utilizzando il connettore Cloud Storage ottimizza le prestazioni e garantisce la coerenza durante la gestione di cartelle con un numero elevato di oggetti.
Dataproc
Puoi utilizzare Google Cloud CLI per creare un cluster Dataproc e abilitare il connettore Cloud Storage per eseguire le operazioni sulle cartelle.
Installa o aggiorna il connettore Cloud Storage versione 2.2.23 o successiva (esclusa la versione 3.0.0).
Crea un cluster Dataproc utilizzando il seguente comando:
gcloud dataproc clusters create CLUSTER_NAME --properties=core:fs.gs.hierarchical.namespace.folders.enable=true, core:fs.gs.http.read-timeout=30000
Dove:
CLUSTER_NAME
è il nome del cluster. Ad esempio,my-cluster
fs.gs.hierarchical.namespace.folders.enable
viene utilizzato per abilitare lo spazio dei nomi gerarchico su un bucket.fs.gs.http.read-timeout
è il tempo massimo consentito, in millisecondi, per leggere i dati da una connessione stabilita. Questa impostazione è facoltativa.
Hadoop autogestito
Puoi attivare il connettore Cloud Storage sul tuo cluster Hadoop autonomo per eseguire le operazioni sulle cartelle.
Installa o aggiorna il connettore Cloud Storage alla versione 2.2.23 o successive (escluso la versione 3.0.0).
Aggiungi quanto segue al file di configurazione core-site.xml:
<property> <name>fs.gs.hierarchical.namespace.folders.enable</name> <value>true</value> </property> <property> <name>fs.gs.http.read-timeout</name> <value>30000</value> </property>
Dove:
fs.gs.hierarchical.namespace.folders.enable
viene utilizzato per attivare lo spazio dei nomi gerarchico in un bucketfs.gs.http.read-timeout
è il tempo massimo consentito, in millisecondi, per leggere i dati da una connessione stabilita. Questa è un'impostazione facoltativa.
Compatibilità con il connettore Cloud Storage versione 3.0.0 o versioni precedenti alla 2.2.23
L'utilizzo della versione 3.0.0 del connettore Cloud Storage o di versioni precedenti alla 2.2.23 o la disattivazione delle operazioni sulle cartelle per lo spazio dei nomi gerarchico può comportare i seguenti limiti:
Ridenominazioni di cartelle inefficienti: le operazioni di ridenominazione delle cartelle in Hadoop vengono eseguite utilizzando operazioni di copia ed eliminazione a livello di oggetto, che sono più lente e meno efficienti dell'operazione
rename folder
dedicata.Accumulo di cartelle vuote: le risorse delle cartelle non vengono eliminate automaticamente, con conseguente accumulo di cartelle vuote nel tuo bucket. L'accumulo di cartelle vuote può avere i seguenti effetti:
- Aumentare i costi di archiviazione se non viene eliminata in modo esplicito.
Rallentano le operazioni di elenco e aumentano il rischio di timeout delle operazioni di elenco.
Problemi di compatibilità: l'utilizzo combinato di versioni del connettore meno recenti e più recenti o l'attivazione e la disattivazione delle operazioni sulle cartelle può causare problemi di compatibilità durante la ridenominazione delle cartelle. Prendi in considerazione il seguente scenario che utilizza una combinazione di versioni del connettore:
Utilizza la versione del connettore Cloud Storage precedente alla 2.2.23 per eseguire le seguenti attività:
- Scrivi gli oggetti nella cartella
foo/
. - Rinomina la cartella
foo/
inbar/
. L'operazione di ridenominazione copia elimina gli oggetti infoo/
ma non elimina i campifoo/
vuoti .
- Scrivi gli oggetti nella cartella
Utilizza il connettore Cloud Storage versione 2.2.23 con le impostazioni di operazioni sulle cartelle abilitate per rinominare la cartella
bar/
infoo/
.
La versione 2.2.23 del connettore, con l'operazione della cartella abilitata, rileva la cartella
foo/
esistente, causando il fallimento dell'operazione di rinominazione. La versione precedente del connettore non ha eliminato la cartellafoo/
poiché l'operazione sulla cartella era disabilitata.
Passaggi successivi
Provalo
Se non conosci Google Cloud, crea un account per valutare le prestazioni di Cloud Storage in scenari reali. I nuovi clienti ricevono anche 300 $ di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Prova Cloud Storage gratuitamente