Préparer les commandes d'une boutique en ligne pour un dashboard des ventes
Découvrez comment charger deux ans de commandes d'une boutique en ligne dans le Lakehouse, les concaténer et les nettoyer avec une action Custom
Objectif
Ce guide vous explique comment charger deux ans de commandes d'une boutique en ligne (environ 1 million de lignes de commande) dans le Lakehouse, les concaténer dans une seule table et les nettoyer avec une action Custom. Vous chargez les fichiers avec Connectors, créez les tables dans le Lakehouse Manager, puis concaténez et nettoyez les commandes avec le Data Processing Engine.
À la fin, vous disposerez de la table online_retail_ii_clean, prête à être interrogée depuis Apache Superset. La deuxième partie du guide, « Construire un dashboard des ventes d'une boutique en ligne dans Superset », la transforme en dashboard des ventes.
Prérequis
Pour suivre ce guide, vous devez :
- Disposer d'un projet Data Platform. Ce guide utilise un projet nommé
ecommerce-sales. - Disposer des commandes de la boutique et du script de nettoyage de l'action Custom :
L'UCI publie les commandes dans un seul classeur Excel, online_retail_II.xlsx, avec une feuille par année. Avant l'étape 1, enregistrez chaque feuille dans son propre fichier :
À propos des données : Online Retail II, UCI Machine Learning Repository, est sous licence CC BY 4.0 (DOI 10.24432/C5CG6D).
Avant de commencer, nous vous recommandons de suivre les guides de démarrage. Ce guide suppose que vous êtes à l'aise avec les principaux composants de la Data Platform.
Ce que vous allez construire
Les deux parties de ce guide aboutissent à ce dashboard dans Superset :
En pratique
Étape 1 : charger les fichiers
- Ouvrez Connectors > Sources et créez une nouvelle source de type File Upload.
- Nommez-la
online_retail_ii. - Déposez
online_retail_II_200910.xlsxetonline_retail_II_201011.xlsxdans la zone Files. - Cliquez sur Create.
Étape 2 : analyser les fichiers
- Ouvrez Connectors > Analyzer.
- Sélectionnez la source
online_retail_ii, puis le fichieronline_retail_II_200910.xlsx. - Cliquez sur Extract metadata.
- Faites de même pour
online_retail_II_201011.xlsx.
L'Analyzer détecte 8 attributs : invoice, stockcode, description, quantity, invoicedate, price, customer_id et country. Vérifiez que invoice et stockcode sont détectés comme String : les numéros de facture comme C489449 et les codes produit comme 85123A ne sont pas des nombres.
Étape 3 : créer les tables
Créer une table par année
-
Ouvrez Lakehouse Manager > Tables.
-
Cliquez sur New table > Create from a Connectors source.
-
Sélectionnez le fichier
online_retail_II_200910.xlsxde la sourceonline_retail_ii, puis cliquez sur Next.
-
Gardez les paramètres par défaut et cliquez sur Create. La table est nommée
online_retail_ii_200910, dans le datasetdefault_dataset.
-
Recommencez avec
online_retail_II_201011.xlsx. La table est nomméeonline_retail_ii_201011.
Les deux tables apparaissent avec 8 attributs et environ 525 k et 542 k lignes.
Créer la table de toutes les commandes
-
Dupliquez la table
online_retail_ii_200910. Survolez sa ligne et cliquez sur l'icône Duplicate.
-
Nommez la nouvelle table
online_retail_ii, dans le datasetdefault_dataset, et cliquez sur Create. -
Construisez la table.
La table a les mêmes 8 attributs, et aucune ligne pour l'instant.
Étape 4 : concaténer les deux années
Créer les actions Load
-
Ouvrez Data Processing Engine > Actions et cliquez sur New action.
-
Recherchez
load, sélectionnez l'action Load et cliquez sur Select.
-
Renseignez l'action :
-
Cliquez sur Create.
-
Créez une deuxième action Load, avec
online_retail_II_201011.xlsxcomme source et la même destination.
La liste des actions affiche vos deux actions Load, à côté des deux actions générées automatiquement à la création des tables annuelles.
Exécuter les deux actions avec un workflow
- Dans Data Processing Engine > Workflows, cliquez sur New workflow.
- Nommez-le
Concat. - Dans Stage 1, ajoutez vos deux actions Load.
- Cliquez sur Create, puis exécutez le workflow.
Le workflow prend quelques minutes. Quand son statut passe au vert, ouvrez Lakehouse Manager > Tables : online_retail_ii contient les lignes des deux tables annuelles, soit 1 067 371 lignes.
N'exécutez le workflow Concat qu'une seule fois. Une nouvelle exécution peut ajouter une seconde fois les mêmes lignes de commande. Après chaque exécution, vérifiez que online_retail_ii contient 1 067 371 lignes.
Pour relancer le workflow, vous pouvez créer une action Delete qui vide online_retail_ii, et l'exécuter avant le workflow.
Étape 5 : nettoyer les commandes
Créer la table propre
- Dans Lakehouse Manager > Tables, dupliquez
online_retail_ii. - Nommez la nouvelle table
online_retail_ii_cleanet construisez-la.
Vous avez maintenant 4 tables. online_retail_ii_clean a les mêmes 8 attributs et aucune ligne pour l'instant.
Créer l'action de nettoyage
-
Dans Data Processing Engine > Actions, cliquez sur New action.
-
Recherchez
custom, sélectionnez l'action Custom et cliquez sur Select.
-
Renseignez l'action :
-
Cliquez sur Create, puis exécutez l'action.
Remarque : le nom de fonction est le point d'entrée du script et doit être online_retail_cleaning. Les autres fonctions du fichier sont des fonctions utilitaires : en choisir une comme nom de fonction renvoie 'Event' object is not subscriptable.
L'action lit online_retail_ii, applique les règles de nettoyage et écrit le résultat dans online_retail_ii_clean. Ouvrez ses logs : chaque règle indique le nombre de lignes concernées, et la dernière ligne donne le nombre de lignes écrites dans online_retail_ii_clean : 1 021 128 lignes.
Les règles apparaissent dans les logs sous leur nom anglais :
Une dernière étape, 8. Harmonized descriptions, attribue à chaque code produit sa description la plus fréquente, pour qu'un produit n'apparaisse jamais sous deux noms.
Créer une action pour vider la table propre
L'action de nettoyage ajoute des lignes à online_retail_ii_clean. Avant de la relancer, videz la table avec une action Delete, comme pour online_retail_ii avant de relancer le workflow Concat.
- Cliquez sur New action, recherchez
delete, sélectionnez l'action Delete et cliquez sur Select. - Dans Table list, déplacez
online_retail_ii_cleanvers Table to empty. - Cliquez sur Create.
Pour nettoyer à nouveau les données, exécutez d'abord cette action Delete, puis online_retail_cleaning.
Étape 6 : connecter Superset
Toutes les données sont maintenant prêtes dans le Lakehouse. Pour les analyser, créez une application Apache Superset :
- Créez une connexion Trino en suivant le guide « Générer une chaîne de connexion Trino pour des outils externes ».
- Créez l'application et connectez-la à Trino en suivant les étapes 1 à 3 du guide « Déployer Apache Superset sur la Data Platform OVHcloud ».
Créer le dataset dans Superset
- Dans Superset, ouvrez Datasets et cliquez sur + Dataset.
- Sélectionnez la connexion de base de données que vous avez créée, nommée
Trino DPdans ce guide, puis le schémadefault_datasetet la tableonline_retail_ii_clean. - Vérifiez les colonnes, puis cliquez sur Create and explore dataset.
Chaque graphique du dashboard part ensuite de Charts > + Chart : choisissez le dataset online_retail_ii_clean, puis le type de graphique.
Continuez avec « Construire un dashboard des ventes d'une boutique en ligne dans Superset ».
Bon à savoir
- Vous pouvez connecter une vraie boutique. Ce guide utilise un jeu de données public, chargé sous forme de fichiers. Pour analyser les commandes de votre propre boutique, créez une source Shopify ou Stripe à la place de la source File Upload : dans Connectors > Sources, les deux apparaissent dans la fenêtre New source. Les tables suivent alors les attributs de cette source, et le script de nettoyage doit être adapté à ces attributs.
Ce que vous avez construit
Vous disposez d'une table brute qui contient chaque ligne de commande de la boutique, d'une table propre qui respecte la description du jeu de données, et d'un dataset Superset construit dessus.
La partie suivante, « Construire un dashboard des ventes d'une boutique en ligne dans Superset », transforme la table propre en dashboard : chiffres clés, chiffre d'affaires dans le temps, produits les plus vendus, ventes par pays et fidélité des clients.
Aller plus loin
Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.
Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe la Data Platform sur le canal Discord dédié.
Si vous avez besoin d'une assistance concernant vos services OVHcloud, créez une demande depuis notre centre d'aide.
Rejoignez notre communauté d'utilisateurs.