Bootstrap en moderne datastak på 5 minutter med Terraform
Hvad er en moderne datastak, og hvordan implementerer du en? Denne guide vil motivere dig til at starte på denne rejse med opsætningsinstruktioner til Airbyte, BigQuery, dbt, Metabase og alt det andet, du har brug for ved hjælp af Terraform.
By Tuan Nguyen, CTO & bestyrelsesmedlem hos Joon Solutions.
En moderne datastakarkitektur (billede af forfatter).
Hvad er en moderne datastak
Modern Data Stack (MDS) er en stak af teknologier, der får et moderne datavarehus til at yde 10-10,000 gange bedre end et ældre datavarehus. I sidste ende sparer en MDS tid, penge og kræfter. De fire søjler i en MDS er en dataforbindelse, en cloud datalager, en data transformerOg en BI og dataudforskning værktøj.
Nem integration er gjort muligt med administrerede og open source-værktøjer, der på forhånd bygger hundredvis af klar-til-brug-forbindelser. Hvad der plejede at tage et team af dataingeniører til at bygge og vedligeholde regelmæssigt, kan nu erstattes med et værktøj til simple use cases. Administrerede løsninger som Stitch , Fivetran, sammen med open source-løsninger som Airbyte , Meltano, får dette til at ske.
Ved hjælp af en skybaseret søjleformet datavarehus har været trenden for nylig på grund af dens høje ydeevne og omkostningseffektivitet. I stedet for at betale 100 USD om året for en lokal MPP-database (massivt parallel behandling), kan du begynde at betale fra 100 USD (eller mindre) pr. måned. Cloud-native datavarehuse siges at være 10-10,000 gange hurtigere end en traditionel OLTP. Populære muligheder i denne kategori er BigQuery, Snowflakeog rødforskydning.
I gamle dage var behandling af data inde i datavarehuset flaskehalsen på grund af teknologiens begrænsninger. Som et resultat var virksomhederne nødt til at favorisere ETL i stedet for ELT for at reducere arbejdsbyrden på datavarehuset. Med fremrykningen af cloud-native datavarehuse er der imidlertid mange in-data-warehouse transformationsværktøjer er ved at blive populære. Mest bemærkelsesværdige i denne kategori er dbt (data build tool) og Dataform.
BI værktøjer bruges til at tage sig af nogle transformationer for også at reducere arbejdsbyrden på ældre datavarehuse. Men med den moderne datastak er BI-værktøjers fokus blevet flyttet (efter min mening) for at demokratisere dataadgang, selvbetjening og dataopdagelse. Nogle værktøjer, som jeg synes er på vej i den rigtige retning, er Looker, Metabaseog supersæt.
Vores arkitektur
Det kan være skræmmende at komme i gang med Modern Data Stack, da mange forskellige værktøjer og processer er involveret. Denne artikel har til formål at hjælpe dig med at komme i gang på denne rejse så problemfrit som muligt. Der er mange forberedelsestrin, men det kræver kun fem minutter at skrue op for alle ressourcer, når du er færdig.
Vi bruger terraform, et infrastruktur-som-kode open source-værktøj til at klargøre alt i Google Cloud. Hvis du følger instruktionerne nedenfor, er her de ressourcer, der oprettes.
- Et Google Cloud-projekt med den nødvendige API aktiveret
- Indtagelse: en GCE-instans, der kører Airbyte
- Lager: BigQuery-datasæt
- Orkestrering (valgfrit): en GCE-instans, der kører Airflow
- BI og dataopdagelse: en GCE-instans, der kører Metabase
- Tjenesten står for forskellige tjenester og deres IAM-tilladelsesbindinger
Kom i gang
Opret en Google Cloud-konto, og aktivér fakturering
Terraform-koden i dette projekt vil interagere med Google Cloud Platform. Derfor er vores første skridt at oprette en Google-konto og aktivere fakturering. Bemærk fakturerings-id med følgende format på faktureringssiden: ######-######-######. Du skal bruge denne værdi i det næste trin.
Installer Google Cloud CLI
Installer Google Cloud SDK ved at følge instruktionerne link. for dit respektive OS. Efter du har gcloud CLI installeret, kør følgende kommando i et terminalvindue og følg instruktionerne. Dette vil lade Terraform bruge standardlegitimationsoplysningerne til godkendelse.
gcloud auth program-standard login
Installer terraform
Følg instrukserne link. for at installere Terraform CLI lokalt. Kør følgende kommando bagefter for at kontrollere din installation:
terraform -v
Du skal se noget som dette:
Terraform v1.0.0 på darwin_amd64 + udbyder registry.terraform.io/hashicorp/google v3.71.0
Fordel eller klon denne repo lokalt
Du kan gaffel denne repo til din konto eller klon den til din lokale maskine. Kør følgende for at klone repoen:
git klon https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Opret en terraform.tfvars fil
Opret en terraform.tfvars fil med følgende indhold:
# Fakturerings-id'et fra første trin billing_id = ######-######-###### # Mappe-id'et for, hvor du ønsker dit projekt skal være under # Lad dette stå tomt, hvis du bruger a personal account folder_id = "" # Organisations-id'et for, hvor du ønsker dit projekt skal være under # Lad dette stå tomt, hvis du bruger en personlig konto org_id = "" # Projektet til at oprette project_id = ""
Advarsel: Disse betragtes som følsomme værdier. Begræns ikke denne fil og *.tfstate filer til en offentlig repos.
Tilpas værdierne i variabler.tf
Variablerne i variabler.tf vil blive brugt til konfigurationen af ressourcerne.
Billede af forfatter.
Du kan tilpasse maskintypen til forskellige tjenester ved at ændre variablerne. Hvis du ikke ønsker at bruge nogen tjeneste, så kommenter det i gce.tf fil.
Du kan også oprette forskellige datasæt til dine kildesystemer ved at tilføje dem til ordbogen for kildedatasæt.
Opret en moderne datastak
Til sidst, for at klargøre alle disse ressourcer på Google Cloud, skal du køre følgende kommando:
terraform gælder
Billede af forfatter.
Undersøg outputtet i terminalen for at sikre dig, at alle ressourceindstillinger er, som du ønsker, de skal være. Type Ja og hit indtaste.
Terraform vil oprette et Google Cloud-projekt med vores moderne datastak. Hele processen vil tage omkring 2-3 minutter. Det tager yderligere 2-3 minutter for tjenesterne at blive installeret på VM-instanser. Hele processen vil kun tage 5 minutter eller mindre.
Brug af den moderne datastak
Hent servicekonti for forskellige tjenester
Billede af forfatter.
Google anbefaler at bruge en anden tjenestekonto til forskellige tjenester. Terraformkoden i projektet har skabt forskellige konti for forskellige teknologier, der allerede er brugt. For at hente en tjenestekonto til en bestemt tjeneste skal du køre følgende kommando:
terraform output [service_name]_sa_key
Standardtilladelsen for alle disse konti er roles/bigquery.admin. Du kan tilpasse dette i iam.tf fil.
Værdien du fik tilbage er base64-kodet. For at vende denne værdi tilbage til JSON-formatet skal du køre følgende kommando:
ekko "[værdi fra forrige kommando]" | base64 -d
Du kan bruge JSON-tjenestekontoen til at godkende tjenesteadgangen til dit projekts ressourcer.
Advarsel: Alle med denne tjenestekonto kan få adgang til dit projekt.
Indtag data med Airbyte
Airbyte er et fremragende open source-dataintegrationsværktøj. For at få adgang til Airbyte UI skal du først hente gcloud SSH-kommandoen.
Billede af forfatter.
Du får en kommando, der ligner denne:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --projekt "tf-airbyte-demo"
Tilføj derefter følgende til kommandoen for at port-forwarde Airbyte UI lokalt:
-- -L 8000:localhost:8000 -L 8001:localhost:8001 -N -f
Din sidste kommando vil se sådan ud:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --projekt "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N-f
Bemærk: Sørg for at slette nylinjetegnet efter kopiering fra GCP-brugergrænsefladen.
Hvis Airbyte-instansen er færdig med at starte op, kan du få adgang til den ved at gå til din browser og besøge localhost: 8000. Hvis ikke, vent fem minutter på, at forekomsten fuldfører installationen.
Billede af forfatter.
Nu kan du integrere dine kilder, tilføje en BigQuery-destination ved hjælp af airbyte_sa_key, og få dine data i BigQuery på ingen tid.
Du kan få adgang til Airbyte-installationen på /airbyte/ inde i VM.
Modeldata med dbt
DBT (databyggeværktøj) er et kraftfuldt open source-datatransformationsværktøj, der bruger SQL. Det gør det muligt for dataanalytikere at udføre det arbejde, der tidligere var reserveret til dataingeniører. Det hjælper også med at skabe en helt ny stilling kaldet Analytics Engineer, en hybrid af en dataanalytiker og en dataingeniør. Du kan læse mere om stillingen på min blog link..
Billede af forfatter.
I modsætning til Airbyte, Airflow og Metabase behøver du ikke en server for at køre dbt. Du kan tilmelde dig en gratis (for evigt) 1-sæde konto ved at besøge deres hjemmeside.
Organiser arbejdsgangen med Airflow
Luftmængde er et kampprøvet workflow-orkestreringsværktøj skabt af Airbnb. Med en moderne datastak behøver du forhåbentlig ikke bruge Airflow meget. I nogle tilfælde, hvor der er behov for en vis tilpasning, kan Airflow dog være dit bedste værktøj.
For at få adgang til brugergrænsefladen skal du få SSH-kommandoen svarende til ovenstående afsnit med Airbyte. Brug følgende kommando til port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --projekt "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
Nu kan du få adgang til Airflow-installationen på localhost: 8080. Standard brugernavn og adgangskode er admin , admin.
Billede af forfatter.
Du kan få adgang til luftstrømsinstallationen på /luftstrøm/ inde i VM.
Visualiser data med Metabase
Metabase er et open source-datavisualiserings- og opdagelsesværktøj. Den er super brugervenlig og nem at komme i gang med.
For at få adgang til Metabase UI skal du få SSH-kommandoen svarende til ovenstående afsnit med Airbyte. Brug derefter følgende kommando til port-forward:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --projekt "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
Billede af forfatter.
Ryd op
For at undgå uønskede omkostninger, skal du sørge for at rydde op i de ressourcer, der er oprettet i dette projekt, ved at køre.
terraform ødelægge
Advarsel: Dette vil slette alle fastholdte data og ressourcer i projektet. Alternativt kan du slukke for den ubrugte GCE for også at spare omkostninger.
Original. Genopslået med tilladelse.
Bio: Tuan Nguyen er CTO for Joon Solutions, en Data as a Service-virksomhed. Hans professionelle erfaringer kredser om opbygning og styring af datavidenskabsteams, analyseinfrastruktur og analytics use cases. Han elsker at kombinere sin passion for dataanalyse og cloud computing for at hjælpe virksomheder med at forblive konkurrencedygtige i denne digitale tid. Han har en bred vifte af interesser, herunder astronomi, læsning, musik og IoT.
Relateret:
Tophistorier de seneste 30 dage | |||||
---|---|---|---|---|---|
|
|
Kilde: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- adgang
- Konto
- Yderligere
- Airbnb
- Alle
- analytiker
- analytics
- Apache
- api
- arkitektur
- omkring
- artikel
- astronomi
- Godkendelse
- auto
- beta
- bigquery
- fakturerings- og
- Blog
- board
- bestyrelsesmedlem
- grænse
- browser
- bygge
- Bygning
- virksomheder
- hvilken
- tilfælde
- Cloud
- cloud computing
- Cloud platform
- kode
- Virksomheder
- selskab
- Compute
- computing
- indhold
- Omkostninger
- Oprettelse af
- CTO
- data
- dataadgang
- Dataanalyse
- dataintegration
- datalogi
- datavisualisering
- datalager
- datavarehuse
- Database
- dag
- dyb læring
- ødelægge
- digital
- Direktør
- opdagelse
- ingeniør
- Ingeniører
- Oplevelser
- Fornavn
- Fokus
- følger
- format
- Gratis
- Guld
- Google Cloud
- GPU'er
- vejlede
- link.
- Høj
- Hvordan
- HTTPS
- Hundreder
- Hybrid
- IAM
- billede
- Herunder
- Infrastruktur
- integration
- involverede
- tingenes internet
- IT
- LÆR
- læring
- lokale
- lokalt
- machine learning
- Making
- medium
- ML
- penge
- Musik
- online
- åbent
- open source
- Udtalelse
- Indstillinger
- Adgangskode
- ydeevne
- perron
- Populær
- projekt
- offentlige
- rækkevidde
- Læsning
- reducere
- ressource
- Ressourcer
- Kør
- kører
- Videnskab
- forskere
- SDK
- Selvbetjening
- Tjenester
- Simpelt
- Løsninger
- Spin
- SQL
- starte
- påbegyndt
- forblive
- Historier
- Systemer
- Teknologier
- tid
- top
- Transformation
- omdanne
- ui
- værdi
- visualisering
- vente
- Warehouse
- Hvad er
- Arbejde
- workflow
- X
- år