in

Comment construire des pipelines ETL simples avec les actions de GitHub


COMMENT CONSTRUIRE DE SIMPLES PIPELINES ETL AVEC GITHUB ACTIONS

Avec GitHub Actions, les ETL ne doivent pas être compliquées. Si tel est le cas, utilisez GitHub Actions.

GitHub Actions est un outil DevOps utilisé pour automatiser les tâches de développement logiciel. En tant que tel, il est généralement associé à la création d’orchestrations de tâches. Cependant, peu de gens l’utilisent pour construire des pipelines ETL.

Lorsqu’il s’agit de discuter des pipelines ETL, les premiers outils qui viennent à l’esprit sont Airflow, Prefect, ou autres outils connexes. Il ne fait aucun doute qu’ils sont les meilleurs sur le marché pour l’orchestration de tâches complexes. Cependant, pour des ETL simples, l’utilisation d’un outil dédié peut être inutile.

Avec les actions de GitHub, vous pouvez exécuter des scripts Python, R ou Julia. En tant que scientifique des données, vous n’aurez donc pas à apprendre un nouveau langage ou outil. En outre, vous pouvez recevoir des notifications par e-mail en cas d’échec de l’une de vos tâches ETL.

Si vous êtes sur GitLab ou Bitbucket, vous pouvez également utiliser leurs alternatives respectives.

DÉBUTER AVEC LES PIPELINES ETL DE GITHUB ACTIONS

Pour commencer avec GitHub Actions, vous pouvez suivre la documentation officielle ou respecter ces trois étapes simples:

1. Créez un répertoire nommé “.github/workflows” dans votre référentiel.

2. Créez le fichier de configuration YAML “actions.yaml” à l’intérieur du répertoire que vous venez de créer. Vous pouvez utiliser le modèle suivant pour construire un pipeline ETL simple.

– name: ETL Pipeline
on:
schedule:
– cron: ‘0 0 * * *’ # Runs at 12.00 AM every day
jobs:
etl:
runs-on: ubuntu-latest
steps:
– name: Checkout code
uses: actions/checkout@v2
– name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ‘3.9’
– name: Extract data
run: python extract.py
– name: Transform data
run: python transform.py
– name: Load data
run: python load.py

Ce fichier YAML automatise un pipeline ETL en trois étapes: extraction, transformation et chargement. Le pipeline sera exécuté tous les jours à minuit, et il s’exécutera sur l’environnement ubuntu-latest. Les trois scripts Python sont séquentiellement exécutés à l’intérieur du pipeline.

3. Exécutez vos scripts Python avec les actions de GitHub.

Les scripts Python peuvent être personnalisés en fonction du scénario. Dans l’exemple suivant, les scripts extraient des données à partir d’une API et les chargent dans une base de données PostGres.

SÉCURITÉ, DÉPENDANCES, USAGE DES RESSOURCES ET CONFIGURATION DE L’HEURE

En utilisant GitHub Actions, il est important de prendre en considération certains points lors de la création de pipelines ETL:

1. Pour protéger vos secrets, GitHub propose une fonctionnalité appelée “secrets chiffrés” qui vous permet de stocker vos valeurs de secrets en toute sécurité dans les paramètres du référentiel. Les secrets chiffrés ne sont accessibles qu’aux utilisateurs autorisés et ne sont jamais exposés en clair dans vos workflows GitHub Actions.

2. Assurez-vous d’utiliser la bonne version des dépendances de votre projet Python pour éviter tout problème de compatibilité.

3. Les actions de GitHub sont exécutées en utilisant le fuseau horaire UTC, et, à l’heure de la rédaction de cet article, il n’est pas possible de changer ce paramètre. Vous devez donc vous assurer d’utiliser le bon fuseau horaire pour votre pipeline ETL.

4. Il est important d’éviter de surcharger les ressources fournies par GitHub. En utilisant un runner auto-hébergé, vous pouvez optimiser l’utilisation de vos ressources.

CONCLUSION

Avec GitHub Actions, il est facile de créer des pipelines ETL simples. Cela simplifie le développement et le déploiement de tâches automatisées. Cependant, pour des tâches ayant des contraintes temporelles très strictes, les actions de GitHub ne sont pas toujours la meilleure option. En utilisant ses options de sécurité, de dépendances et de gestion des ressources avec précaution, vous pouvez créer des pipelines ETL simples et sécurisés avec GitHub Actions.

Mots clés: GitHub Actions, ETL pipelines, Python, sécurité, dépendances, ressources, automatisation.

Sources:
– Documentation officielle de GitHub Actions: https://docs.github.com/en/actions
– Outil convertisseur de fuseau horaire: https://www.timeanddate.com/worldclock/converter-classic.html

What do you think?

Written by Barbara

Leave a Reply

Your email address will not be published. Required fields are marked *

Texte pour la musique IA

L’OMS annonce la fin de l’urgence sanitaire mondiale liée au covid.