Démarrez une pile de données moderne en 5 minutes avec Terraform
Qu'est-ce qu'une pile de données moderne et comment en déployer une ? Ce guide vous motivera à commencer ce voyage avec des instructions de configuration pour Airbyte, BigQuery, dbt, Metabase et tout ce dont vous avez besoin pour utiliser Terraform.
By Tuan Nguyên, CTO et membre du conseil d'administration de Joon Solutions.
Une architecture moderne de pile de données (image de l'auteur).
Qu'est-ce qu'une pile de données moderne
Modern Data Stack (MDS) est une pile de technologies qui permet à un entrepôt de données moderne de fonctionner 10 à 10,000 XNUMX fois mieux qu'un entrepôt de données existant. En fin de compte, un MDS permet d'économiser du temps, de l'argent et des efforts. Les quatre piliers d'un MDS sont un connecteur de donnéesun entrepôt de données cloudun transformateur de donnéesEt un BI et exploration de données outil.
Entretien l'intégration est rendu possible grâce à des outils gérés et open source qui pré-construisent des centaines de connecteurs prêts à l'emploi. Ce qui nécessitait auparavant une équipe d'ingénieurs de données pour créer et maintenir régulièrement peut désormais être remplacé par un outil destiné à des cas d'utilisation simples. Des solutions gérées comme point ainsi que Fivétran, avec des solutions open source comme Airbyte ainsi que Meltano, rendent cela possible.
L'utilisation d'un entrepôt de données en colonnes basé sur le cloud C'est la tendance récente en raison de ses performances élevées et de sa rentabilité. Au lieu de payer 100 100 $ par an pour une base de données MPP (traitement massivement parallèle) sur site, vous pouvez commencer à payer à partir de 10 $ (ou moins) par mois. Les entrepôts de données cloud natifs seraient 10,000 à XNUMX XNUMX fois plus rapides qu’un OLTP traditionnel. Les options populaires dans cette catégorie sont BigQuery, Floconet Redshift.
Autrefois, le traitement des données au sein de l'entrepôt de données constituait un goulot d'étranglement en raison des limites de la technologie. En conséquence, les entreprises ont dû privilégier l’ETL plutôt que l’ELT pour réduire la charge de travail de l’entrepôt de données. Cependant, avec l'avancement des entrepôts de données cloud natifs, de nombreux outils de transformation dans l'entrepôt de données deviennent populaires. Les plus notables dans cette catégorie sont dbt (outil de création de données) et Dataform.
Outils BI utilisé pour prendre en charge certaines transformations afin de réduire également la charge de travail sur les entrepôts de données existants. Cependant, avec la pile de données moderne, l'orientation des outils de BI a été réorientée (à mon avis) vers la démocratisation de l'accès aux données, du libre-service et de la découverte de données. Certains outils qui, à mon avis, vont dans la bonne direction sont Looker, métabaseet Super ensemble.
Notre architecture
Se lancer dans la Modern Data Stack peut être intimidant car de nombreux outils et processus différents sont impliqués. Cet article vise à vous aider à démarrer ce voyage de la manière la plus transparente possible. Il existe de nombreuses étapes de préparation, mais cela ne prend que cinq minutes pour faire tourner toutes les ressources une fois que vous avez terminé.
Nous utiliserons Terraform, un outil open source d'infrastructure en tant que code pour tout provisionner dans Google Cloud. Si vous suivez les instructions ci-dessous, voici les ressources qui seront créées.
- Un projet Google Cloud avec l'API nécessaire activée
- Ingestion : une instance GCE exécutant Airbyte
- Entreposage : ensembles de données BigQuery
- Orchestration (facultatif) : une instance GCE exécutant Airflow
- BI et découverte de données : une instance GCE exécutant Metabase
- Comptes de service pour différents services et leurs liaisons d'autorisation IAM
Débuter
Créez un compte Google Cloud et activez la facturation
Le code Terraform de ce projet interagira avec Google Cloud Platform. Par conséquent, notre première étape consiste à créer un compte Google et activer la facturation. Noter la identifiant de facturation avec le format suivant dans la page de facturation : ######-######-######. Vous aurez besoin de cette valeur à l'étape suivante.
Installer Google Cloud CLI
Installez le SDK Google Cloud en suivant les instructions ici pour votre système d'exploitation respectif. Après avoir eu le gcloud CLI installé, exécutez la commande suivante dans une fenêtre de terminal et suivez les instructions. Cela permettra à Terraform d'utiliser les informations d'identification par défaut pour l'authentification.
authentification gcloud connexion par défaut de l'application
Installer Terraform
Suivez les instructions ici pour installer la CLI Terraform localement. Exécutez ensuite la commande suivante pour vérifier votre installation :
terraformer -v
Vous devriez voir quelque chose comme ceci:
Terraform v1.0.0 sur darwin_amd64 + fournisseurregistre.terraform.io/hashicorp/google v3.71.0
Forkez ou clonez ce dépôt localement
Vous pouvez fork ce dépôt sur votre compte ou clonez-le sur votre ordinateur local. Pour cloner le dépôt, exécutez ce qui suit :
git clone https://github.com/tuanchris/modern-data-stack cd modern-data-stack
Créer un terraform.tfvars filet
Créer un terraform.tfvars fichier avec le contenu suivant:
# L'ID de facturation de la première étape billing_id = ######-######-###### # L'ID du dossier dans lequel vous souhaitez que votre projet se trouve # Laissez ce champ vide si vous utilisez un compte personnelfolder_id = "" # L'ID de l'organisation sous laquelle vous souhaitez que votre projet soit # Laissez ce champ vide si vous utilisez un compte personnel org_id = "" # Le projet à créer project_id = ""
: Ce sont des valeurs considérées comme sensibles. Ne validez pas ce fichier et le *.étattf fichiers dans un dépôt public.
Personnalisez les valeurs dans variables.tf
Les variables dans variables.tf sera utilisé pour les configurations des ressources.
Image de l'auteur.
Vous pouvez personnaliser le type de machine pour différents services en modifiant les variables. Si vous ne souhaitez utiliser aucun service, commentez-le dans le gce.tf fichier.
Vous pouvez également créer différents ensembles de données pour vos systèmes sources en les ajoutant au dictionnaire des ensembles de données sources.
Créez une pile de données moderne
Enfin, pour provisionner toutes ces ressources sur Google Cloud, exécutez la commande suivante :
terraform applique
Image de l'auteur.
Étudiez la sortie dans le terminal pour vous assurer que tous les paramètres de ressources correspondent à ce que vous souhaitez. Taper Oui et frapper entrer.
Terraform créera un projet Google Cloud avec notre pile de données moderne. L'ensemble du processus prendra environ 2 à 3 minutes. L'installation des services sur les instances de VM prend 2 à 3 minutes supplémentaires. L'ensemble du processus ne prendra que 5 minutes ou moins.
Utiliser la pile de données moderne
Récupérer les comptes de service pour différents services
Image de l'auteur.
Google recommande d'utiliser un compte de service différent pour différents services. Le code Terraform du projet a créé différents comptes pour différentes technologies déjà utilisées. Pour récupérer un compte de service pour un service particulier, exécutez la commande suivante :
sortie Terraform [nom_service]_sa_key
L'autorisation par défaut pour tous ces comptes est rôles/bigquery.admin. Vous pouvez personnaliser cela dans le je suis.tf fichier.
La valeur que vous avez récupérée est codée en base64. Pour rétablir cette valeur au format JSON, exécutez la commande suivante :
echo "[valeur de la commande précédente]" | base64 -d
Vous pouvez utiliser le compte de service JSON pour authentifier l'accès du service aux ressources de votre projet.
: toute personne disposant de ce compte de service peut accéder à votre projet.
Ingérer des données avec Airbyte
Airbyte est un excellent outil d'intégration de données open source. Pour accéder à l'interface utilisateur d'Airbyte, commencez par obtenir la commande gcloud SSH.
Image de l'auteur.
Vous obtiendrez une commande similaire à celle-ci :
gcloud beta computing ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo"
Ensuite, ajoutez ce qui suit à la commande pour transférer le port de l'interface utilisateur Airbyte localement :
-- -L 8000:hôte local:8000 -L 8001:hôte local:8001 -N -f
Votre commande finale ressemblera à ceci :
gcloud beta computing ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airbyte" --project "tf-airbyte-demo" -- -L 8000:localhost:8000 -L 8001:localhost:8001 - N -f
Remarque: Assurez-vous de supprimer le caractère de nouvelle ligne après la copie depuis l'interface utilisateur de GCP.
Si l'instance Airbyte a fini de démarrer, vous pouvez y accéder en accédant à votre navigateur et en visitant localhost: 8000. Sinon, attendez cinq minutes pour que l'instance termine l'installation.
Image de l'auteur.
Vous pouvez désormais intégrer vos sources, ajouter une destination BigQuery à l'aide du airbyte_sa_keyet disposez de vos données dans BigQuery en un rien de temps.
Vous pouvez accéder à l'installation d'Airbyte à l'adresse /airbyte/ à l'intérieur de la VM.
Modéliser les données avec dbt
dbt (outil de construction de données) est un puissant outil de transformation de données open source utilisant SQL. Il permet aux Data Analysts d’effectuer le travail auparavant réservé aux Data Engineers. Cela permet également de créer un tout nouveau poste appelé Analytics Engineer, un hybride d'analyste de données et d'ingénieur de données. Vous pouvez en savoir plus sur le poste sur mon blog ici.
Image de l'auteur.
Contrairement à Airbyte, Airflow et Metabase, vous n'avez pas besoin d'un serveur pour exécuter dbt. Vous pouvez créer un compte 1 siège gratuit (pour toujours) en visitant leur site de NDN Collective.
Orchestrer le flux de travail avec Airflow
Débit d'air est un outil d'orchestration de flux de travail éprouvé créé par Airbnb. Avec une pile de données moderne, nous espérons que vous n’aurez pas beaucoup à utiliser Airflow. Cependant, dans certains cas où une certaine personnalisation est nécessaire, Airflow peut être votre outil de prédilection.
Pour accéder à l'interface utilisateur, obtenez la commande SSH similaire à la section ci-dessus avec Airbyte. Utilisez la commande suivante pour le transfert de port :
gcloud beta computing ssh --zone "asia-southeast1-a" "tf-airbyte-demo-airflow" --project "tf-airbyte-demo" -- -L 8080:localhost:8080 -N -f
Vous pouvez maintenant accéder à l'installation d'Airflow à l'adresse localhost: 8080. Le nom d'utilisateur et le mot de passe par défaut sont admin ainsi que admin.
Image de l'auteur.
Vous pouvez accéder à l'installation de circulation d'air sur /flux d'air/ à l'intérieur de la VM.
Visualisez les données avec Metabase
métabase est un outil open source de visualisation et de découverte de données. Il est très convivial et facile à utiliser.
Pour accéder à l'interface utilisateur de la métabase, obtenez la commande SSH similaire à la section ci-dessus avec Airbyte. Ensuite, utilisez la commande suivante pour le transfert de port :
gcloud beta computing ssh --zone "asia-southeast1-a" "tf-airbyte-demo-metabase" --project "tf-airbyte-demo" -- -L 3000:localhost:3000 -N -f
Image de l'auteur.
Nettoyer
Pour éviter tout coût indésirable, assurez-vous de nettoyer les ressources créées dans ce projet en l'exécutant.
terraform détruire
Mise en garde: Cela supprimera toutes les données et ressources persistantes dans le projet. Vous pouvez également désactiver le GCE inutilisé pour réduire également les coûts.
ORIGINALE. Republié avec permission.
Bio: Tuan Nguyên est le CTO de Joon Solutions, une entreprise Data as a Service. Ses expériences professionnelles tournent autour de la création et de la gestion d'équipes de science des données, d'infrastructures analytiques et de cas d'utilisation analytiques. Il aime combiner sa passion pour l'analyse de données et le cloud computing pour aider les entreprises à rester compétitives à l'ère numérique. Il a un large éventail d'intérêts, notamment l'astronomie, la lecture, la musique et l'IoT.
Connexe:
Source : https://www.kdnuggets.com/2021/08/bootstrap-modern-data-stack-terraform.html
- "
- &
- accès
- Compte
- Supplémentaire
- Airbnb
- Tous
- analyste
- analytique
- Apache
- api
- architecture
- autour
- article
- astronomie
- Authentification
- auto
- bêta
- bigquery
- facturation
- Blogue
- planche
- membre du conseil
- frontière
- navigateur
- construire
- Développement
- entreprises
- les soins
- cas
- le cloud
- le cloud computing
- cloud Platform
- code
- Sociétés
- Société
- calcul
- informatique
- contenu
- Costs
- La création
- CTO
- données
- accès aux données
- Analyse de Donnée
- intégration de données
- science des données
- visualisation de données
- entrepôt de données
- entrepôts de données
- Base de données
- journée
- l'apprentissage en profondeur
- détruire
- numérique
- Directeur
- découverte
- ingénieur
- Les ingénieurs
- Expériences
- Prénom
- Focus
- suivre
- le format
- Test d'anglais
- Or
- Google Cloud
- GPU
- guide
- ici
- Haute
- Comment
- HTTPS
- Des centaines
- Hybride
- IAM
- image
- Y compris
- Infrastructure
- l'intégration
- impliqué
- IOT
- IT
- APPRENTISSAGE
- apprentissage
- locales
- localement
- machine learning
- Fabrication
- moyenne
- ML
- de l'argent
- Musique
- en ligne
- ouvert
- open source
- Opinion
- Options
- Mot de Passe
- performant
- plateforme
- Populaire
- Projet
- public
- gamme
- en cours
- réduire
- ressource
- Ressources
- Courir
- pour le running
- Sciences
- scientifiques
- Sdk
- En libre service
- Services
- étapes
- Solutions
- Spin
- SQL
- Commencer
- j'ai commencé
- rester
- Stories
- Système
- Les technologies
- fiable
- top
- De La Carrosserie
- transformer
- ui
- Plus-value
- visualisation
- attendez
- Entrepots
- Qu’est ce qu'
- Activités principales
- workflow
- X
- an