Questa architettura di riferimento descrive i vantaggi dell'utilizzo di Apache Hive su Dataproc in modo efficiente e flessibile archiviando i dati Hive in Cloud Storage e ospitando il metastore Hive in un database MySQL su Cloud SQL.
Questo documento è rivolto ai cloud architect e ai data engineer che interessato al deployment di Apache Hive su Dataproc e Hive Metastore in in Cloud SQL.
Architettura
Il seguente diagramma mostra il ciclo di vita di una query Hive.
Nel diagramma, il ciclo di vita di una query Hive segue questi passaggi:
- Il client Hive invia una query a un server Hive in esecuzione in un cluster Dataproc temporaneo.
- Il server Hive elabora la query e richiede i metadati dal servizio metastore.
- Il servizio Metastore recupera i metadati Hive da Cloud SQL tramite il proxy Cloud SQL.
- Il server Hive carica i dati dal magazzino Hive situato in un bucket regionale in Cloud Storage.
- Il server Hive restituisce il risultato al client.
Alternative di design
La sezione seguente presenta una potenziale alternativa di progettazione per questa architettura.
Architettura multiregionale
Valuta l'uso di un'architettura multiregionale se devi eseguire server Hive in regioni geografiche. In questo caso, devi creare regole separate Cluster Dataproc dedicati all'hosting del metastore e che risiedono nella stessa regione dell'istanza Cloud SQL.
A volte il servizio metastore può inviare volumi elevati di richieste a MySQL quindi è fondamentale che il servizio Metastore sia geograficamente vicino al database MySQL per ridurre al minimo l'impatto sulle prestazioni. In confronto, il server Hive in genere invia molte meno richieste al servizio metastore. Pertanto, può essere più accettabile per il server Hive e il metastore deve risiedere in regioni diverse nonostante l'aumento della latenza.
Il servizio metastore può essere eseguito solo su nodi master di Dataproc e non sui nodi worker. Dataproc applica un minimo di due nodi worker nei cluster standard e in cluster ad alta disponibilità.
Per evitare di sprecare risorse su nodi worker inutilizzati, puoi creare un cluster a un solo nodo per il servizio metastore. Per ottenere una disponibilità elevata, puoi per creare più cluster a nodo singolo.
Il proxy Cloud SQL deve essere installato solo sui cluster dei servizi Metastore, perché solo questi devono connettersi direttamente all'istanza Cloud SQL. I server Hive rimandano quindi ai cluster di servizi del metastore impostando la hive.metastore.uris
proprietà
sull'elenco separato da virgole di URI. Ad esempio:
thrift://metastore1:9083,thrift://metastore2:9083
Puoi anche considerare l'utilizzo di un bucket a due o più regioni se è necessario accedere ai dati Hive da server Hive che si trovano in più posizioni. La scelta tra i diversi tipi di località dei bucket dipende in base al tuo caso d'uso. Devi trovare un equilibrio tra latenza, disponibilità e costi.
Il seguente diagramma mostra un esempio di architettura multiregionale.
Come puoi vedere, lo scenario multiregionale è leggermente più complesso e molto più solido. La guida al deployment di questa architettura di riferimento utilizza uno scenario a una sola regione.
Vantaggi di un'architettura multiregionale
La separazione delle risorse di computing e archiviazione offre alcuni vantaggi:
- Flessibilità e agilità: puoi personalizzare le configurazioni dei cluster per carichi di lavoro Hive specifici e scalare ogni cluster indipendentemente in base alle esigenze.
- Risparmi sui costi: puoi avviare un cluster temporaneo quando devi eseguire un job Hive e poi eliminarlo quando viene completato. Le risorse richieste dai job sono attive solo quando se usi i servizi, quindi paghi solo per ciò che utilizzi. Puoi anche utilizzare le VM prerilasciabili per l'elaborazione di dati non critici o per creare cluster di grandi dimensioni a un costo totale inferiore.
- Resilienza: per semplicità, questa architettura di riferimento utilizza una sola istanza principale. Per aumentare la resilienza nei carichi di lavoro di produzione, ti consigliamo di creare un cluster con tre istanze master utilizzando la modalità di alta disponibilità di Dataproc.
Ottimizzazione dei costi
Questa architettura di riferimento e questo deployment utilizzano i seguenti componenti fatturabili di Google Cloud:
- Dataproc
- Cloud Storage
- Cloud SQL
Puoi utilizzare il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.
I nuovi utenti Google Cloud potrebbero essere idonei per un prova gratuita.
Deployment
Per eseguire il deployment di questa architettura, consulta Eseguire il deployment di Apache Hive su Dataproc.
Passaggi successivi
- Prova BigQuery, il data warehouse aziendale di Google, serverless, altamente scalabile e a basso costo.
- Dai un'occhiata a questo guida sulla migrazione dei carichi di lavoro Hadoop su Google Cloud.
- Consulta questa azione di inizializzazione per ulteriori dettagli su come utilizzare Hive HCatalog su Dataproc.
- Scopri come configurare Cloud SQL per la disponibilità elevata per aumentare l'affidabilità del servizio.
- Per altre architetture di riferimento, diagrammi e best practice, visita il Centro architetture di Google Cloud.