Bootstrap einen modernen Datenstapel in 5 Minuten mit Terraform
Was ist ein moderner Daten-Stack und wie stellt man ihn bereit? Dieser Leitfaden motiviert Sie, diese Reise zu beginnen, mit Einrichtungsanweisungen für Airbyte, BigQuery, dbt, Metabase und allem anderen, was Sie für die Verwendung von Terraform benötigen.
By Tuan Nguyen, CTO & Vorstandsmitglied bei Joon Solutions.
Eine moderne Datenstapelarchitektur (Bild vom Autor).
Was ist ein moderner Datenstapel?
Modern Data Stack (MDS) ist ein Technologiestapel, der dafür sorgt, dass ein modernes Data Warehouse eine 10–10,000-mal bessere Leistung erbringt als ein älteres Data Warehouse. Letztendlich spart ein MDS Zeit, Geld und Aufwand. Die vier Säulen eines MDS sind a Datenanschluss, eine Cloud Data Warehouse, eine DatentransformatorUnd eine BI und Datenexploration Werkzeug.
Einfach Integration wird durch verwaltete und Open-Source-Tools ermöglicht, die Hunderte von gebrauchsfertigen Konnektoren vorab erstellen. Was früher ein Team von Dateningenieuren für den regelmäßigen Aufbau und die Wartung erforderte, kann jetzt durch ein Tool für einfache Anwendungsfälle ersetzt werden. Verwaltete Lösungen wie Stich und Fivetran, zusammen mit Open-Source-Lösungen wie Airbyte und Meltan, machen das möglich.
Verwendung eines Cloudbasiertes spaltenbasiertes Data Warehouse liegt aufgrund seiner hohen Leistung und Kosteneffizienz in letzter Zeit im Trend. Anstatt 100 US-Dollar pro Jahr für eine MPP-Datenbank (Massively Parallel Processing) vor Ort zu zahlen, können Sie mit der Zahlung ab 100 US-Dollar (oder weniger) pro Monat beginnen. Cloud-native Data Warehouses sollen 10–10,000 Mal schneller sein als ein herkömmliches OLTP. Beliebte Optionen in dieser Kategorie sind BigQuery, Schneeflocke und Redshift.
Früher war die Verarbeitung von Daten innerhalb des Data Warehouse aufgrund der Einschränkungen der Technologie ein Engpass. Infolgedessen mussten Unternehmen ETL anstelle von ELT bevorzugen, um die Arbeitslast des Data Warehouse zu reduzieren. Mit der Weiterentwicklung von Cloud-nativen Data Warehouses jedoch viele In-Data-Warehouse-Transformationstools werden immer beliebter. Am bemerkenswertesten in dieser Kategorie sind dbt (Data Build Tool) und Dataform.
BI-Tools Früher hat es sich um einige Transformationen gekümmert, um auch die Arbeitslast auf alten Data Warehouses zu reduzieren. Mit dem modernen Datenstapel hat sich der Schwerpunkt der BI-Tools (meiner Meinung nach) jedoch auf die Demokratisierung des Datenzugriffs, des Self-Service und der Datenerkennung verlagert. Einige Tools gehen meiner Meinung nach in die richtige Richtung Schau, Metabasis und Superset.
Unsere Architektur
Der Einstieg in den Modern Data Stack kann entmutigend sein, da viele verschiedene Tools und Prozesse beteiligt sind. Dieser Artikel soll Ihnen dabei helfen, diese Reise so reibungslos wie möglich zu beginnen. Es gibt viele Vorbereitungsschritte, aber es dauert nur fünf Minuten um alle Ressourcen hochzufahren, sobald Sie fertig sind.
Wir werden verwenden Terraform, ein Infrastructure-as-Code-Open-Source-Tool zur Bereitstellung alles in Google Cloud. Wenn Sie die folgenden Anweisungen befolgen, werden die folgenden Ressourcen erstellt.
- Ein Google Cloud-Projekt mit aktivierter erforderlicher API
- Aufnahme: eine GCE-Instanz, auf der Airbyte ausgeführt wird
- Lagerung: BigQuery-Datensätze
- Orchestrierung (optional): eine GCE-Instanz, auf der Airflow ausgeführt wird
- BI und Datenerkennung: eine GCE-Instanz, auf der Metabase ausgeführt wird
- Dienstkonten für verschiedene Dienste und deren IAM-Berechtigungsbindungen
Loslegen
Erstellen Sie ein Google Cloud-Konto und aktivieren Sie die Abrechnung
Der Terraform-Code in diesem Projekt interagiert mit der Google Cloud Platform. Daher besteht unser erster Schritt darin, ein Google-Konto zu erstellen und Abrechnung aktivieren. Beachten Sie das Rechnungs-ID mit dem folgenden Format auf der Abrechnungsseite: ######-######-######. Diesen Wert benötigen Sie im nächsten Schritt.
Installieren Sie die Google Cloud CLI
Installieren Sie das Google Cloud SDK gemäß den Anweisungen hier für Ihr jeweiliges Betriebssystem. Nachdem Sie die gcloud Wenn die CLI installiert ist, führen Sie den folgenden Befehl in einem Terminalfenster aus und befolgen Sie die Anweisungen. Dadurch kann Terraform die Standardanmeldeinformationen für die Authentifizierung verwenden.
gcloud auth-Anwendung – Standardanmeldung
Installieren Sie Terraform
Folge den Anweisungen hier um die Terraform-CLI lokal zu installieren. Führen Sie anschließend den folgenden Befehl aus, um Ihre Installation zu überprüfen:
Terraform -v
Sie sollten so etwas sehen:
Terraform v1.0.0 auf darwin_amd64 + Anbieter Registry.terraform.io/hashicorp/google v3.71.0
Forken oder klonen Sie dieses Repo lokal
Du kannst dich Fork dieses Repo auf Ihr Konto hinzufügen oder es auf Ihren lokalen Computer klonen. Führen Sie Folgendes aus, um das Repo zu klonen:
Git-Klon https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Erstellen Sie terraform.tfvars Datei
Erstellen Sie terraform.tfvars Datei mit folgendem Inhalt:
# Die Abrechnungs-ID aus dem ersten Schritt billing_id = ######-######-###### # Die Ordner-ID, unter der sich Ihr Projekt befinden soll # Lassen Sie dieses Feld leer, wenn Sie es verwenden ein persönliches Konto Folder_id = "" # Die Organisations-ID, unter der sich Ihr Projekt befinden soll # Lassen Sie dieses Feld leer, wenn Sie ein persönliches Konto verwenden org_id = "" # Das zu erstellende Projekt project_id = ""
Warnung: Dies sind sensible Werte. Übertragen Sie diese Datei nicht und die *.tfstate Dateien in ein öffentliches Repo.
Passen Sie die Werte an Variablen.tf
Die Variablen in Variablen.tf wird für die Konfigurationen der Ressourcen verwendet.
Bild vom Autor.
Sie können den Maschinentyp für verschiedene Dienste anpassen, indem Sie die Variablen ändern. Wenn Sie keinen Dienst nutzen möchten, kommentieren Sie ihn im aus gce.tf Datei.
Sie können auch verschiedene Datensätze für Ihre Quellsysteme erstellen, indem Sie sie dem Quelldatensatzwörterbuch hinzufügen.
Erstellen Sie einen modernen Datenstapel
Um schließlich alle diese Ressourcen in Google Cloud bereitzustellen, führen Sie den folgenden Befehl aus:
Terraform anwenden
Bild vom Autor.
Studieren Sie die Ausgabe im Terminal, um sicherzustellen, dass alle Ressourceneinstellungen Ihren Wünschen entsprechen. Typ ja und schlagen eingeben.
Terraform wird mit unserem modernen Datenstack ein Google Cloud-Projekt erstellen. Der gesamte Vorgang dauert etwa 2–3 Minuten. Es dauert weitere 2–3 Minuten, bis die Dienste auf VM-Instanzen installiert sind. Der gesamte Vorgang dauert höchstens 5 Minuten.
Nutzung des modernen Datenstacks
Rufen Sie Dienstkonten für verschiedene Dienste ab
Bild vom Autor.
Google empfiehlt, für verschiedene Dienste ein anderes Dienstkonto zu verwenden. Der Terraform-Code im Projekt hat verschiedene Konten für verschiedene bereits verwendete Technologien erstellt. Um ein Dienstkonto für einen bestimmten Dienst abzurufen, führen Sie den folgenden Befehl aus:
Terraform-Ausgabe [Dienstname]_sa_key
Die Standardberechtigung für alle diese Konten ist Roles/bigquery.admin. Sie können dies im anpassen iam.tf Datei.
Der Wert, den Sie zurückerhalten haben, ist Base64-codiert. Um diesen Wert wieder in das JSON-Format umzuwandeln, führen Sie den folgenden Befehl aus:
echo „[Wert aus dem vorherigen Befehl]“ | base64 -d
Sie können das JSON-Dienstkonto verwenden, um den Dienstzugriff auf die Ressourcen Ihres Projekts zu authentifizieren.
Warnung: Jeder mit diesem Dienstkonto kann auf Ihr Projekt zugreifen.
Daten mit Airbyte aufnehmen
Airbyte ist ein hervorragendes Open-Source-Datenintegrationstool. Um auf die Airbyte-Benutzeroberfläche zuzugreifen, rufen Sie zunächst den SSH-Befehl gcloud ab.
Bild vom Autor.
Sie erhalten einen Befehl ähnlich diesem:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
Fügen Sie als Nächstes Folgendes zum Befehl hinzu, um die Airbyte-Benutzeroberfläche lokal weiterzuleiten:
-- -L 8000:localhost:8000 -L 8001:localhost:8001 -N -f
Ihr letzter Befehl sieht folgendermaßen aus:
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
Hinweis: Achten Sie darauf, das Zeilenumbruchzeichen nach dem Kopieren aus der GCP-Benutzeroberfläche zu löschen.
Wenn der Start der Airbyte-Instanz abgeschlossen ist, können Sie darauf zugreifen, indem Sie in Ihrem Browser auf „ localhost: 8000. Wenn nicht, warten Sie fünf Minuten, bis die Instanz die Installation abgeschlossen hat.
Bild vom Autor.
Jetzt können Sie Ihre Quellen integrieren und mithilfe von ein BigQuery-Ziel hinzufügen airbyte_sa_keyund haben Ihre Daten im Handumdrehen in BigQuery.
Sie können auf die Airbyte-Installation zugreifen unter /airbyte/ innerhalb der VM.
Modelldaten mit dbt
dbt (Data Build Tool) ist ein leistungsstarkes Open-Source-Datentransformationstool mit SQL. Es ermöglicht Datenanalysten, die Arbeit zu erledigen, die zuvor Dateningenieuren vorbehalten war. Es hilft auch dabei, eine völlig neue Position namens Analytics Engineer zu schaffen, eine Mischung aus einem Datenanalysten und einem Dateningenieur. Mehr über die Stelle können Sie in meinem Blog lesen hier.
Bild vom Autor.
Im Gegensatz zu Airbyte, Airflow und Metabase benötigen Sie keinen Server, um dbt auszuführen. Sie können sich für ein kostenloses (dauerhaftes) 1-Sitzer-Konto registrieren, indem Sie deren besuchen Website .
Orchestrieren Sie den Arbeitsablauf mit Airflow
Airflow ist ein kampferprobtes Workflow-Orchestrierungstool, das von Airbnb entwickelt wurde. Mit einem modernen Datenstapel müssen Sie Airflow hoffentlich nicht häufig verwenden. In einigen Fällen, in denen eine gewisse Anpassung erforderlich ist, kann Airflow jedoch das Tool Ihrer Wahl sein.
Um auf die Benutzeroberfläche zuzugreifen, rufen Sie mit Airbyte den SSH-Befehl ähnlich dem obigen Abschnitt ab. Verwenden Sie für die Portweiterleitung den folgenden Befehl:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
Jetzt können Sie auf die Airflow-Installation zugreifen localhost: 8080. Der Standardbenutzername und das Passwort lauten Administrator und Administrator.
Bild vom Autor.
Sie können auf die Luftstrominstallation zugreifen unter /Luftstrom/ innerhalb der VM.
Visualisieren Sie Daten mit Metabase
Metabasis ist ein Open-Source-Tool zur Datenvisualisierung und -ermittlung. Es ist super benutzerfreundlich und der Einstieg ist einfach.
Um auf die Metabase-Benutzeroberfläche zuzugreifen, rufen Sie mit Airbyte den SSH-Befehl ähnlich dem obigen Abschnitt ab. Verwenden Sie dann den folgenden Befehl für die Portweiterleitung:
gcloud beta compute ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
Bild vom Autor.
Aufräumen
Um unerwünschte Kosten zu vermeiden, bereinigen Sie unbedingt die in diesem Projekt erstellten Ressourcen, indem Sie es ausführen.
Terraform zerstören
Warnung: Dadurch werden alle persistenten Daten und Ressourcen im Projekt gelöscht. Alternativ können Sie auch die ungenutzte GCE ausschalten, um Kosten zu sparen.
Original. Mit Genehmigung erneut veröffentlicht.
Bio: Tuan Nguyen ist CTO von Joon Solutions, einem Data-as-a-Service-Unternehmen. Seine beruflichen Erfahrungen umfassen den Aufbau und das Management von Data-Science-Teams, Analytics-Infrastrukturen und Analytics-Anwendungsfällen. Er liebt es, seine Leidenschaft für Datenanalyse und Cloud Computing zu kombinieren, um Unternehmen zu helfen, in der heutigen digitalen Zeit wettbewerbsfähig zu bleiben. Er hat ein breites Spektrum an Interessen, darunter Astronomie, Lesen, Musik und IoT.
Related:
Top Stories der letzten 30 Tage | |||
---|---|---|---|
|
Quelle: https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- Zugang
- Konto
- Zusätzliche
- Airbnb
- Alle
- Analytiker
- Analytik
- Apache
- Bienen
- Architektur
- um
- Artikel
- Astronomie
- Authentifizierung
- Auto
- Beta
- Bigquery
- Rechnungs-
- Blog
- Tafel
- Vorstandsmitglied
- Grenze
- Browser
- bauen
- Building
- Unternehmen
- österreichische Unternehmen
- Fälle
- Cloud
- Cloud Computing
- Cloud-Plattform
- Code
- Unternehmen
- Unternehmen
- Berechnen
- Computing
- Inhalt
- Kosten
- Erstellen
- CTO
- technische Daten
- Datenzugriff
- Datenanalyse
- Datenintegration
- Datenwissenschaft
- Datenvisualisierung
- Data Warehouse
- Data Warehouse
- Datenbase
- Tag
- tiefe Lernen
- zerstören
- digital
- Direktor
- Entdeckung
- Ingenieur
- Ingenieure
- Erfahrungen
- Vorname
- Setzen Sie mit Achtsamkeit
- folgen
- Format
- Frei
- Gold
- Cumolocity
- GPUs
- Guide
- hier
- High
- Ultraschall
- HTTPS
- hunderte
- Hybrid
- IAM
- Image
- Einschließlich
- Infrastruktur
- Integration
- beteiligt
- iot
- IT
- LERNEN
- lernen
- aus einer regionalen
- örtlich
- Maschinelles Lernen
- Making
- mittlere
- ML
- Geld
- Musik
- Online
- XNUMXh geöffnet
- Open-Source-
- Meinung
- Optionen
- Passwort
- Leistung
- Plattform
- Beliebt
- Projekt
- Öffentlichkeit
- Angebot
- Lesebrillen
- Veteran
- Ressourcen
- Downloads
- Führen Sie
- Laufen
- Wissenschaft
- Wissenschaftler
- Sdk
- Selbstbedienung
- Leistungen
- Einfacher
- Lösungen
- Wirbelsäule ... zu unterstützen.
- SQL
- Anfang
- begonnen
- bleiben
- Geschichten
- Systeme und Techniken
- Technologies
- Zeit
- Top
- Transformation
- Transformieren
- ui
- Wert
- Visualisierung
- warten
- Warehouse
- Was ist
- Arbeiten
- Arbeitsablauf.
- X
- Jahr