Bootstrap o stivă de date modernă în 5 minute cu Terraform
Ce este un pachet de date modern și cum îl implementați? Acest ghid vă va motiva să începeți această călătorie cu instrucțiuni de configurare pentru Airbyte, BigQuery, dbt, Metabase și orice altceva de care aveți nevoie folosind Terraform.
By Tuan Nguyen, CTO și membru al Consiliului de administrație la Joon Solutions.
O arhitectură modernă a stivei de date (imaginea autorului).
Ce este o stivă modernă de date
Modern Data Stack (MDS) este un teanc de tehnologii care face ca un depozit de date modern să funcționeze de 10-10,000 de ori mai bine decât un depozit de date vechi. În cele din urmă, un MDS economisește timp, bani și efort. Cei patru piloni ai unui MDS sunt a conector de date, A depozit de date cloud, A transformator de date, Precum și o BI și explorarea datelor instrument.
Uşor integrare este posibil cu instrumente gestionate și open-source care pre-construiesc sute de conectori gata de utilizare. Ceea ce obișnuia să construiască și să întrețină în mod regulat o echipă de ingineri de date poate fi acum înlocuit cu un instrument pentru cazuri simple de utilizare. Soluții gestionate precum cusătură și Fivetran, împreună cu soluții open-source precum Airbyte și Meltano, fac acest lucru să se întâmple.
Folosind un depozit de date coloană bazat pe cloud a fost tendința recent datorită performanței sale ridicate și rentabilității. În loc să plătiți 100 USD pe an pentru o bază de date MPP (procesare masivă paralelă), puteți începe să plătiți de la 100 USD (sau mai puțin) pe lună. Se spune că depozitele de date native din cloud sunt de 10-10,000 de ori mai rapide decât un OLTP tradițional. Opțiunile populare din această categorie sunt Bigquery., Fulg de nea, și Redshift.
Pe vremuri, procesarea datelor în cadrul depozitului de date era blocajul din cauza limitărilor tehnologiei. Drept urmare, companiile au trebuit să favorizeze ETL în loc de ELT pentru a reduce volumul de muncă al depozitului de date. Odată cu progresul depozitelor de date native din cloud, totuși, multe instrumente de transformare în depozitul de date devin populare. Cele mai notabile din această categorie sunt dbt (instrument de compilare a datelor) și Dataform.
Instrumente BI folosit pentru a avea grijă de unele transformări pentru a reduce încărcătura de lucru și în depozitele de date vechi. Cu toate acestea, odată cu stiva modernă de date, atenția instrumentelor BI a fost mutată (în opinia mea) pentru a democratiza accesul la date, autoservirea și descoperirea datelor. Unele instrumente care cred că se îndreaptă în direcția corectă sunt păstrător, metabaza, și superset.
Arhitectura noastră
Începerea cu Modern Data Stack poate fi descurajantă, deoarece sunt implicate multe instrumente și procese diferite. Acest articol își propune să vă ajute să începeți această călătorie cât mai ușor posibil. Există mulți pași de pregătire, dar durează doar cinci minute pentru a ridica toate resursele odată ce ați terminat.
Vom folosi Terraform, un instrument open-source de infrastructură ca cod pentru a furniza totul în Google Cloud. Dacă urmați instrucțiunile de mai jos, iată resursele care vor fi create.
- Un proiect Google Cloud cu API-ul necesar activat
- Ingestie: o instanță GCE care rulează Airbyte
- Depozitare: seturi de date BigQuery
- Orchestrare (opțional): o instanță GCE care rulează Airflow
- BI și descoperirea datelor: o instanță GCE care rulează Metabase
- Conturi de servicii pentru diferite servicii și legăturile lor de permisiuni IAM
Să începem!
Creați un cont Google Cloud și activați facturarea
Codul Terraform din acest proiect va interacționa cu Google Cloud Platform. Prin urmare, primul nostru pas este crearea unui cont Google și activați facturarea. Rețineți ID de facturare cu următorul format în Pagina de facturare: ######-######-######. Veți avea nevoie de această valoare în pasul următor.
Instalați Google Cloud CLI
Instalați Google Cloud SDK urmând instrucțiunile aici pentru sistemul de operare respectiv. După ce ai gcloud CLI instalat, executați următoarea comandă într-o fereastră de terminal și urmați instrucțiunile. Acest lucru va permite Terraform să utilizeze acreditările implicite pentru autentificare.
Aplicația gcloud auth-login implicită
Instalați terraform
Urmează instrucțiunile aici pentru a instala Terraform CLI local. Rulați următoarea comandă după aceea pentru a vă verifica instalarea:
terraform -v
Ar trebui să vedeți așa ceva:
Terraform v1.0.0 pe darwin_amd64 + furnizorul registry.terraform.io/hashicorp/google v3.71.0
Bifurcați sau clonați acest repo la nivel local
Poti bifurcați acest repo în contul dvs. sau clonați-l pe computerul dvs. local. Pentru a clona depozitul, rulați următoarele:
git clone https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Crearea unei terraform.tfvars fişier
Crearea unei terraform.tfvars fișier cu următorul conținut:
# ID-ul de facturare de la primul pas billing_id = ######-#####-###### # ID-ul folderului în care doriți să fie proiectul dvs. # Lăsați necompletat dacă utilizați un cont personal folder_id = "" # ID-ul organizației unde doriți să fie proiectul dvs. # Lăsați necompletat dacă utilizați un cont personal org_id = "" # Proiectul de creat project_id = ""
avertizare: Acestea sunt considerate valori sensibile. Nu comiteți acest fișier și fișierul *.tfstate fișiere într-un depozit public.
Personalizați valorile în variabile.tf
Variabilele din variabile.tf va fi folosit pentru configurarea resurselor.
Imaginea autorului.
Puteți personaliza tipul de mașină pentru diferite servicii prin modificarea variabilelor. Dacă nu doriți să utilizați niciun serviciu, comentați-l în gce.tf fișier.
De asemenea, puteți crea diferite seturi de date pentru sistemele dumneavoastră sursă, adăugându-le la dicționarul de seturi de date surse.
Creați o stivă de date modernă
În cele din urmă, pentru a furniza toate aceste resurse pe Google Cloud, rulați următoarea comandă:
se aplică terraform
Imaginea autorului.
Studiați rezultatul din terminal pentru a vă asigura că toate setările de resurse sunt ceea ce doriți să fie. Tip da și lovit introduce.
Terraform va crea un proiect Google Cloud cu stiva noastră modernă de date. Întregul proces va dura aproximativ 2-3 minute. Este nevoie de încă 2-3 minute pentru ca serviciile să fie instalate pe instanțe VM. Întregul proces va dura doar 5 minute sau mai puțin.
Utilizarea stivei de date moderne
Preluați conturi de serviciu pentru diferite servicii
Imaginea autorului.
Google recomandă utilizarea unui cont de serviciu diferit pentru servicii diferite. Codul terraform din proiect a creat conturi diferite pentru diferite tehnologii deja utilizate. Pentru a prelua un cont de serviciu pentru un anumit serviciu, executați următoarea comandă:
ieșire terraform [nume_serviciu]_sa_key
Permisiunea implicită pentru toate aceste conturi este roluri/bigquery.admin. Puteți personaliza acest lucru în iam.tf fișier.
Valoarea pe care ați primit-o înapoi este codificată în base64. Pentru a transforma această valoare înapoi în formatul JSON, executați următoarea comandă:
echo „[valoarea din comanda anterioară]” | baza64 -d
Puteți utiliza contul de serviciu JSON pentru a autentifica accesul la serviciu la resursele proiectului dumneavoastră.
avertizare: Oricine are acest cont de serviciu vă poate accesa proiectul.
Ingerați date cu Airbyte
Airbyte este un excelent instrument open-source de integrare a datelor. Pentru a accesa interfața de utilizare Airbyte, mai întâi, obțineți comanda gcloud SSH.
Imaginea autorului.
Veți primi o comandă similară cu aceasta:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
Apoi, adăugați următoarele la comandă pentru a redirecționa local interfața de utilizare Airbyte:
-- -L 8000:localhost:8000 -L 8001:localhost:8001 -N -f
Comanda finală va arăta astfel:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --proiect "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N -f
Notă: Asigurați-vă că ștergeți caracterul nou linie după copiere din interfața de utilizare GCP.
Dacă instanța Airbyte s-a terminat de pornit, o puteți accesa accesând browserul dvs. și vizitați localhost: 8000. Dacă nu, așteptați cinci minute pentru ca instanța să finalizeze instalarea.
Imaginea autorului.
Acum puteți să vă integrați sursele, să adăugați o destinație BigQuery folosind airbyte_sa_keyși aveți datele dvs. în BigQuery în cel mai scurt timp.
Puteți accesa instalarea Airbyte la /airbyte/ în interiorul VM.
Date model cu dbt
DBT (instrument de compilare a datelor) este un instrument puternic de transformare a datelor open-source care utilizează SQL. Le permite analiştilor de date să facă munca rezervată anterior inginerilor de date. De asemenea, ajută la crearea unei poziții complet noi numite Inginer Analytics, un hibrid dintre un Analist de date și un Inginer de date. Puteți citi mai multe despre poziție pe blogul meu aici.
Imaginea autorului.
Spre deosebire de Airbyte, Airflow și Metabase, nu aveți nevoie de un server pentru a rula dbt. Vă puteți înregistra pentru un cont gratuit (pentru totdeauna) cu 1 loc, vizitându-le .
Orchestrați fluxul de lucru cu Airflow
Debit de aer este un instrument de orchestrare a fluxului de lucru dovedit în lupte, creat de Airbnb. Cu o stivă modernă de date, sperăm că nu va trebui să utilizați Airflow mult. Cu toate acestea, în unele cazuri în care este necesară o anumită personalizare, Airflow poate fi instrumentul dvs. de bază.
Pentru a accesa interfața de utilizare, obțineți comanda SSH similară cu secțiunea de mai sus cu Airbyte. Utilizați următoarea comandă pentru port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
Acum puteți accesa instalația Airflow la localhost: 8080. Numele de utilizator și parola implicite sunt admin și admin.
Imaginea autorului.
Puteți accesa instalația de flux de aer la /flux de aer/ în interiorul VM.
Vizualizați datele cu Metabase
metabaza este un instrument open-source de vizualizare și descoperire a datelor. Este foarte ușor de utilizat și ușor de început.
Pentru a accesa interfața de utilizare Metabase, obțineți comanda SSH similară cu secțiunea de mai sus cu Airbyte. Apoi, utilizați următoarea comandă pentru port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --proiect "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
Imaginea autorului.
A curăța
Pentru a evita orice costuri nedorite suportate, asigurați-vă că curățați resursele create în acest proiect prin rulare.
terraforma distruge
Avertisment: Aceasta va șterge toate datele și resursele persistente din proiect. Ca alternativă, puteți dezactiva GCE-ul nefolosit pentru a economisi și costuri.
Original. Repostat cu permisiunea.
Bio: Tuan Nguyen este CTO al Joon Solutions, o companie Data as a Service. Experiențele sale profesionale se învârt în jurul construirii și gestionării echipelor de știință a datelor, infrastructurii de analiză și cazurilor de utilizare de analiză. Îi place să combine pasiunea pentru analiza datelor și cloud computing pentru a ajuta companiile să rămână competitive în această zi și epocă digitală. Are o gamă largă de interese, inclusiv astronomie, lectură, muzică și IoT.
Related:
Sursă: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- acces
- Cont
- Suplimentar
- Airbnb
- TOATE
- analist
- Google Analytics
- Apache
- api
- arhitectură
- în jurul
- articol
- astronomie
- Autentificare
- Auto
- beta
- BigQuery
- facturare
- Blog
- bord
- membru al consiliului
- frontieră
- browser-ul
- construi
- Clădire
- întreprinderi
- pasă
- cazuri
- Cloud
- cloud computing
- Platforma Cloud
- cod
- Companii
- companie
- Calcula
- tehnica de calcul
- conţinut
- Cheltuieli
- Crearea
- CTO
- de date
- accesul la date
- Analiza datelor
- integrarea datelor
- știința datelor
- vizualizarea datelor
- depozit de date
- depozite de date
- Baza de date
- zi
- învățare profundă
- distruge
- digital
- Director
- descoperire
- inginer
- inginerii
- Experiențe
- First
- Concentra
- urma
- format
- Gratuit
- Aur
- Google Cloud
- unități de procesare grafică
- ghida
- aici
- Înalt
- Cum
- HTTPS
- sute
- Hibrid
- IAM
- imagine
- Inclusiv
- Infrastructură
- integrare
- implicat
- IoT
- IT
- AFLAȚI
- învăţare
- local
- la nivel local
- masina de învățare
- Efectuarea
- mediu
- ML
- bani
- Muzică
- on-line
- deschide
- open-source
- Opinie
- Opţiuni
- Parolă
- performanță
- platformă
- Popular
- proiect
- public
- gamă
- Citind
- reduce
- resursă
- Resurse
- Alerga
- funcţionare
- Ştiinţă
- oamenii de stiinta
- sdk
- Autoservire
- Servicii
- simplu
- soluţii
- Rotire
- SQL
- Începe
- început
- şedere
- Istorii
- sisteme
- Tehnologii
- timp
- top
- Transformare
- transformare
- ui
- valoare
- vizualizare
- aștepta
- Depozit
- Ce este
- Apartamente
- flux de lucru
- X
- an