Avvia uno stack di dati moderno in 5 minuti con Terraform
Che cos'è un Modern Data Stack e come ne distribuisci uno? Questa guida ti motiverà a iniziare questo viaggio con le istruzioni di configurazione per Airbyte, BigQuery, dbt, Metabase e tutto ciò di cui hai bisogno utilizzando Terraform.
By Tuan Nguyen, CTO e membro del consiglio di amministrazione di Joon Solutions.
Una moderna architettura di stack di dati (immagine dell'autore).
Che cos'è uno stack di dati moderno?
Modern Data Stack (MDS) è uno stack di tecnologie che consente a un data warehouse moderno di funzionare da 10 a 10,000 volte meglio di un data warehouse legacy. In definitiva, un MDS consente di risparmiare tempo, denaro e fatica. I quattro pilastri di un MDS sono a connettore dati, un data warehouse su cloud, un trasformatore di dati, e un BI ed esplorazione dei dati strumento.
Facile integrazione è reso possibile con strumenti gestiti e open source che pre-costruiscono centinaia di connettori pronti per l'uso. Quello che un tempo richiedeva un team di data engineer per costruire e mantenere regolarmente, ora può essere sostituito con uno strumento per semplici casi d'uso. Soluzioni gestite come punto ed Fivetran, insieme a soluzioni open source come Byte aereo ed Meltano, stanno facendo accadere questo.
Utilizzando un data warehouse colonnare basato su cloud è stata la tendenza di recente grazie alle sue elevate prestazioni e all'economicità. Invece di pagare $ 100 all'anno per un database MPP (elaborazione massicciamente parallela) on-premise, puoi iniziare a pagare da $ 100 (o meno) al mese. Si dice che i data warehouse nativi del cloud siano 10–10,000 volte più veloci di un OLTP tradizionale. Le opzioni popolari in questa categoria sono BigQuery, Fiocco di nevee redshift.
In passato, l'elaborazione dei dati all'interno del data warehouse rappresentava il collo di bottiglia a causa dei limiti della tecnologia. Di conseguenza, le aziende hanno dovuto favorire ETL invece di ELT per ridurre il carico di lavoro del data warehouse. Con il progresso dei data warehouse cloud-native, tuttavia, molti strumenti di trasformazione in-data-warehouse stanno diventando popolari. I più importanti in questa categoria sono dbt (strumento per la creazione di dati) e Dataform.
Strumenti di BI utilizzato per occuparsi di alcune trasformazioni per ridurre il carico di lavoro anche sui data warehouse legacy. Tuttavia, con il moderno stack di dati, l'attenzione degli strumenti di BI è stata spostata (secondo me) per democratizzare l'accesso ai dati, il self-service e la scoperta dei dati. Alcuni strumenti che penso stiano andando nella giusta direzione sono Looker, metabasee superset.
La nostra architettura
Iniziare con il Modern Data Stack può essere scoraggiante poiché sono coinvolti molti strumenti e processi diversi. Questo articolo ha lo scopo di aiutarti a iniziare questo viaggio nel modo più fluido possibile. Ci sono molti passaggi di preparazione, ma bastano cinque minuti per far girare tutte le risorse una volta che hai finito.
Useremo Terraform, uno strumento open source infrastruttura come codice per eseguire il provisioning di tutto in Google Cloud. Se segui le istruzioni di seguito, ecco le risorse che verranno create.
- Un progetto Google Cloud con l'API necessaria abilitata
- Ingestione: un'istanza GCE che esegue Airbyte
- Magazzino: set di dati BigQuery
- Orchestrazione (opzionale): un'istanza GCE che esegue Airflow
- BI e rilevamento dei dati: un'istanza GCE che esegue Metabase
- Account di servizio per servizi diversi e relativi vincoli di autorizzazione IAM
Inizia Ora
Crea un account Google Cloud e abilita la fatturazione
Il codice Terraform in questo progetto interagirà con Google Cloud Platform. Pertanto, il nostro primo passo è creare un account Google e abilitare la fatturazione bill. Notare la ID fatturazione con il seguente formato nella pagina di fatturazione: ######-######-######. Avrai bisogno di questo valore nel passaggio successivo.
Installa Google Cloud CLI
Installa Google Cloud SDK seguendo le istruzioni qui per il tuo rispettivo sistema operativo. Dopo che hai il gcloud CLI installata, eseguire il seguente comando in una finestra di terminale e seguire le istruzioni. Ciò consentirà a Terraform di utilizzare le credenziali predefinite per l'autenticazione.
gcloud auth login predefinito dell'applicazione
Installa terraform
Seguire le istruzioni qui per installare la CLI Terraform localmente. Eseguire il seguente comando in seguito per verificare l'installazione:
terraforma -v
Dovresti vedere qualcosa di simile a questo:
Terraform v1.0.0 su darwin_amd64 + provider register.terraform.io/hashicorp/google v3.71.0
Effettua il fork o clona questo repository localmente
Puoi fork questo repository sul tuo account o clonalo sul tuo computer locale. Per clonare il repository, eseguire quanto segue:
git clone https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Creare un terraform.tfvars filetto
Creare un terraform.tfvars file con il seguente contenuto:
# L'ID di fatturazione del primo passaggio billing_id = ######-######-###### # L'ID della cartella in cui vuoi che si trovi il tuo progetto # Lascia questo campo vuoto se usi un account personale folder_id = "" # L'ID dell'organizzazione in cui desideri inserire il tuo progetto # Lascia vuoto questo campo se utilizzi un account personale org_id = "" # Il progetto da creare project_id = ""
avvertimento: Questi sono considerati valori sensibili. Non eseguire il commit di questo file e il *.tfstato file in un repository pubblico.
Personalizza i valori in variabili.tf
Le variabili in variabili.tf verrà utilizzato per le configurazioni delle risorse.
Immagine dell'autore.
È possibile personalizzare il tipo di macchina per diversi servizi modificando le variabili. Se non vuoi utilizzare nessun servizio, commentalo nel gce.tf file.
Puoi anche creare set di dati diversi per i tuoi sistemi di origine aggiungendoli al dizionario dei set di dati di origine.
Crea uno stack di dati moderno
Infine, per eseguire il provisioning di tutte queste risorse su Google Cloud, esegui il seguente comando:
applicare terraform
Immagine dell'autore.
Studia l'output nel terminale per assicurarti che tutte le impostazioni delle risorse siano quelle che vuoi che siano. Tipo sì e colpisci entrare.
Terraform creerà un progetto Google Cloud con il nostro moderno stack di dati. L'intero processo richiederà circa 2-3 minuti. Sono necessari 2-3 minuti aggiuntivi per l'installazione dei servizi sulle istanze VM. L'intero processo richiederà solo 5 minuti o meno.
Utilizzo del moderno stack di dati
Recupera account di servizio per diversi servizi
Immagine dell'autore.
Google consiglia di utilizzare un account di servizio diverso per servizi diversi. Il codice terraform nel progetto ha creato diversi account per diverse tecnologie già utilizzate. Per recuperare un account di servizio per un particolare servizio, eseguire il comando seguente:
output terraform [nome_servizio]_sa_key
L'autorizzazione predefinita per tutti questi account è ruoli/bigquery.admin. Puoi personalizzarlo nel iam.tf file.
Il valore che hai ricevuto è codificato in base64. Per riportare questo valore al formato JSON, esegui il seguente comando:
echo "[valore dal comando precedente]" | base64 -d
Puoi utilizzare l'account del servizio JSON per autenticare l'accesso del servizio alle risorse del tuo progetto.
avvertimento: chiunque disponga di questo account di servizio può accedere al tuo progetto.
Importa dati con Airbyte
Byte aereo è un eccellente strumento di integrazione dei dati open source. Per accedere all'interfaccia utente di Airbyte, per prima cosa ottieni il comando gcloud SSH.
Immagine dell'autore.
Otterrai un comando simile a questo:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
Quindi, aggiungi quanto segue al comando per eseguire il port forwarding dell'interfaccia utente di Airbyte localmente:
-- -L 8000:hostlocale:8000 -L 8001:hostlocale:8001 -N -f
Il tuo comando finale sarà simile a questo:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N -f
Nota: Assicurati di eliminare il carattere di nuova riga dopo aver copiato dall'interfaccia utente di GCP.
Se l'istanza di Airbyte ha terminato l'avvio, puoi accedervi andando sul tuo browser e visitando localhost: 8000. In caso contrario, attendere cinque minuti affinché l'istanza completi l'installazione.
Immagine dell'autore.
Ora puoi integrare le tue fonti, aggiungere una destinazione BigQuery utilizzando il airbyte_sa_keye avrai i tuoi dati in BigQuery in pochissimo tempo.
Puoi accedere all'installazione di Airbyte su /byte aereo/ all'interno della VM.
Dati del modello con dbt
DBT (strumento di creazione dei dati) è un potente strumento di trasformazione dei dati open source che utilizza SQL. Consente ai Data Analyst di svolgere il lavoro precedentemente riservato ai Data Engineer. Aiuta anche a creare una posizione completamente nuova chiamata Analytics Engineer, un ibrido tra un Data Analyst e un Data Engineer. Puoi leggere di più sulla posizione nel mio blog qui.
Immagine dell'autore.
A differenza di Airbyte, Airflow e Metabase, non è necessario un server per eseguire dbt. Puoi registrarti per un account a 1 posto gratuito (per sempre) visitando il loro sito web.
Orchestra il flusso di lavoro con Airflow
Flusso d'aria è uno strumento di orchestrazione del flusso di lavoro collaudato creato da Airbnb. Con uno stack di dati moderno, si spera, non dovrai usare molto Airflow. Tuttavia, in alcuni casi in cui è necessaria una personalizzazione, Airflow può essere il tuo strumento di riferimento.
Per accedere all'interfaccia utente, ottenere il comando SSH simile alla sezione precedente con Airbyte. Utilizzare il seguente comando per il port forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
Ora puoi accedere all'installazione di Airflow su localhost: 8080. Il nome utente e la password predefiniti sono Admin ed Admin.
Immagine dell'autore.
È possibile accedere all'installazione del flusso d'aria su /flusso d'aria/ all'interno della VM.
Visualizza i dati con Metabase
metabase è uno strumento di visualizzazione e scoperta dei dati open source. È super user-friendly e facile da usare.
Per accedere all'interfaccia utente della metabase, ottenere il comando SSH simile alla sezione precedente con Airbyte. Quindi, usa il seguente comando per il port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
Immagine dell'autore.
ripulire
Per evitare costi indesiderati, assicurati di ripulire le risorse create in questo progetto eseguendo.
terraforma distruggere
Attenzione: Ciò eliminerà tutti i dati e le risorse persistenti nel progetto. In alternativa, puoi disattivare il GCE inutilizzato per risparmiare anche sui costi.
Originale. Ripubblicato con il permesso.
Bio: Tuan Nguyen è il CTO di Joon Solutions, una società di Data as a Service. Le sue esperienze professionali ruotano attorno alla creazione e alla gestione di team di data science, infrastrutture di analisi e casi d'uso di analisi. Ama combinare la sua passione per l'analisi dei dati e il cloud computing per aiutare le aziende a rimanere competitive nell'era digitale. Ha una vasta gamma di interessi, tra cui astronomia, lettura, musica e IoT.
Correlato:
Le migliori storie degli ultimi 30 giorni | |||
---|---|---|---|
|
Fonte: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- accesso
- Il mio account
- aggiuntivo
- Airbnb
- Tutti
- analista
- analitica
- Apache
- api
- architettura
- in giro
- articolo
- astronomia
- Autenticazione
- auto
- beta
- BigQuery
- fatturazione
- Blog
- tavola
- membro del consiglio
- sistema
- del browser
- costruire
- Costruzione
- aziende
- che
- casi
- Cloud
- il cloud computing
- cloud Platform
- codice
- Aziende
- azienda
- Calcolare
- informatica
- contenuto
- Costi
- Creazione
- CTO
- dati
- l'accesso ai dati
- Dati Analytics
- integrazione dei dati
- scienza dei dati
- visualizzazione dati
- data warehouse
- data warehouse
- Banca Dati
- giorno
- apprendimento profondo
- distruggere
- digitale
- Direttore
- scoperta
- ingegnere
- Ingegneri
- Esperienze
- Nome
- Focus
- seguire
- formato
- Gratis
- Oro
- Google cloud
- GPU
- guida
- qui
- Alta
- Come
- HTTPS
- centinaia
- IBRIDO
- IAM
- Immagine
- Compreso
- Infrastruttura
- integrazione
- coinvolto
- IoT
- IT
- IMPARARE
- apprendimento
- locale
- a livello locale
- machine learning
- Fare
- medie
- ML
- soldi
- Musica
- online
- aprire
- open source
- Opinione
- Opzioni
- Password
- performance
- piattaforma
- Popolare
- progetto
- la percezione
- gamma
- Lettura
- ridurre
- risorsa
- Risorse
- Correre
- running
- Scienze
- scienziati
- sdk
- Fai da te
- Servizi
- Un'espansione
- Soluzioni
- Spin
- SQL
- inizia a
- iniziato
- soggiorno
- Storie
- SISTEMI DI TRATTAMENTO
- Tecnologie
- tempo
- top
- Trasformazione
- trasformazione
- ui
- APPREZZIAMO
- visualizzazione
- aspettare
- Magazzino
- Che cosa è l'
- Lavora
- flusso di lavoro
- X
- anno