Skip links

Comment déclencher des scripts Python automatiquement avec Deepnote

Deepnote est un. notebook Cloud Based qui rassemble les équipes pour explorer, analyser et présenter les données du bout en bout.

Deepnote est un notebook Cloud Based qui rassemble les équipes pour explorer, analyser et présenter les données du bout en bout.

Google Colab est un service Cloud mis à disposition par Google gratuitement basé sur Jupyter Notebook. Chez Hanalytics, nous avons toujours effectué nos tests de scripts, nos partages de code via Google Colab. Toutefois, nous avions toujours eu besoin d’aller plus loin dans l’utilisation de Google Colab. Les principales fonctionnalités qui nous manquait avec Google Colab sont les suivantes : 

  • Programmer automatiquement le déclenchement de nos scripts python 

  • Héberger des fichiers json ou autre dans un espace privé dédié

  • Créer et gérer des variables environnementales 

  • Une intégration simple aux différents Cloud Data Warehouse ( Snowflake, BigQuery, Redhsift, etc.)

Ces fonctionnalités sont directement intégrées chez Deepnote.

Présentation de Deepnote

Deepnote ressemble beaucoup à un Jupyter Notebook collaboratif permettant à plusieurs experts de collaborer sur des blocs de scripts, de commenter le code des collaborateurs, de visualiser les données simplement.  L’outil est puissant, flexible et offre des fonctionnalités assez intéressantes notamment l’intégration native des Cloud Data Warehouse les plus utilisés sur le marché.

 

Les fonctionnalités les plus intéressantes sont : 

 

  • La possibilité de coder en R, SQL ou Python au sein du même notebook 

  • Le versionning du notebook 

  • La programmation du déclenchement du notebook automatiquement ( Il est possible de faire compiler le notebook toutes les heures, tous les jours, toutes les semaines ou tous les mois. 

  • La gestion des permissions sur le notebook 

  • La possibilité de choisir la puissance de sa machine virtuelle 

  • L’intégration à BigQuery qui permet de faire une requête SQL et de stocker les résultats de la requête dans un dataframe python simplement.

Cas pratique

Avec toutes ses fonctionnalités, Deepnote permet de mettre en place des Quick-wins assez rapidement pour nos clients. Il nous est arrivé de délivrer un notebook pour un client à qui nous avons offert la possibilité de cliquer juste sur le bouton « Run Notebook » pour déclencher une série de traitement automatisé. 

 

Pour le compte d’un client, nous avons besoin de récupérer tous les jours un fichier envoyé par mail par un service tiers et de pousser ce fichier dans une table BigQuery branchée à une visualisation Google Data Studio. L’architecture du flux est donc le suivant :

 

source : data-hanalytics.io

Le notebook se présente comme ceci -> 

La fonctionnalité de Scheduling permet ensuite de créer une récurrence de déclenchement de ce notebook de façon quotidienne à une heure spécifique : 

 

Une fois cette dernière étape effectuée, le notebook se déclenche automatiquement tous les matins à 9h30 en effectuant les étapes suivantes : 

  • Récupération du fichier dans la boîte email spécifiée 

  • Nettoyage et cleaning de la nomenclature des colonnes 

  • Push des données dans la table BigQuery et par conséquent mise à jour du reporting Data Studio. 

 

Chez Hanalytics, nous considérons Deepnote comme un outil Modern Data Stack que nous mettons en place par défaut chez nos clients pour des premières phases d’exploration de données.

 

Leave a comment

Explore
Drag