Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Ce tutoriel ingère des données dans des lakehouses Fabric au format Delta Lake. Nous définissons ici quelques termes importants :
Lakehouse - Un lakehouse est une collection de fichiers, de dossiers et/ou de tables qui représentent une base de données sur un lac de données. Le moteur Spark et le moteur SQL utilisent des ressources lakehouse pour le traitement du Big Data. Lorsque vous utilisez des tables au format Delta open source, ce traitement inclut des fonctionnalités de transaction ACID améliorées.
Delta Lake - Delta Lake est une couche de stockage open source qui apporte des transactions ACID, une gestion évolutive des métadonnées et un traitement par lots et streaming des données vers Apache Spark. En tant que format de table de données, Delta Lake étend les fichiers de données Parquet avec un journal des transactions basé sur des fichiers pour les transactions ACID et la gestion évolutive des métadonnées.
Les jeux de données Azure Open sont des jeux de données publics organisés qui ajoutent des fonctionnalités spécifiques au scénario aux solutions Machine Learning. Cela conduit à des modèles plus précis. Les jeux de données ouverts sont des ressources cloud qui résident sur le stockage Microsoft Azure. Apache Spark, l’API REST, la fabrique de données et d’autres outils peuvent accéder à Open Datasets.
Dans ce tutoriel, vous utilisez Apache Spark pour :
- Lire des données à partir de conteneurs Azure Open Datasets.
- Écrire des données dans une table delta lakehouse Fabric.
Conditions préalables
Obtenez un abonnement Microsoft Fabric . Vous pouvez également vous inscrire à une version d’évaluation gratuite de Microsoft Fabric .
Connectez-vous à Microsoft Fabric.
Utilisez le sélecteur d’expérience en bas à gauche de votre page d’accueil pour basculer vers Fabric.
- Ajoutez un lakehouse à ce notebook. Dans ce tutoriel, vous téléchargez d’abord des données à partir d’un objet blob public. Ensuite, les données sont stockées dans cette ressource de type "lakehouse".
Suivez avec un bloc-notes
Le notebook 1-ingest-data.ipynb accompagne ce tutoriel.
Pour ouvrir le bloc-notes associé pour ce didacticiel, suivez les instructions de Préparer votre système pour les didacticiels de science des données pour importer le bloc-notes dans votre espace de travail.
Si vous préférez copier et coller le code à partir de cette page, vous pouvez créer un bloc-notes.
Assurez-vous d’attacher un lakehouse au notebook avant de commencer à exécuter du code.
Données de perte de clients bancaires
Le jeu de données contient des informations sur l’état d’attrition pour 10 000 clients. Il inclut également des attributs qui peuvent influencer le churn, par exemple :
- Score de crédit
- Emplacement géographique (Allemagne, France, Espagne)
- Sexe (mâle, femelle)
- Âge
- Durée (le nombre d’années pendant laquelle le client était un client à cette banque)
- Solde du compte
- Salaire estimé
- Nombre de produits achetés par le biais de la banque
- État de la carte de crédit (qu’un client dispose ou non d’une carte de crédit)
- État du membre actif (que le client dispose ou non d’un statut client bancaire actif)
Le jeu de données inclut également ces colonnes :
- numéro de ligne
- ID client
- nom de famille du client
Ces colonnes ne devraient pas avoir d’influence sur la décision d’un client de quitter la banque.
La fermeture d’un compte bancaire client définit la perte de clientèle de ce client. La colonne de l'ensemble de données exited est relative à l'abandon des clients. Peu de contexte sur ces attributs est disponible. Vous devez donc continuer sans informations générales sur le jeu de données. Notre objectif est de comprendre comment ces attributs contribuent à l’état exited .
Exemples de lignes de jeu de données :
| « CustomerID » | « Nom de famille » | « CreditScore » | « Geography » | « Sexe » | Âge | Titularisation | « Balance » | « NumOfProducts » | « HasCrCard » | « IsActiveMember » | SalaireEstimé | « Terminé » |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 15634602 | Hargrave | 619 | France | Femelle | 42 | 2 | 0,00 | 1 | 1 | 1 | 101348.88 | 1 |
| 15647311 | Colline | 608 | Espagne | Femelle | 41 | 1 | 83807.86 | 1 | 0 | 1 | 112542.58 | 0 |
Télécharger le jeu de données et charger sur lakehouse
Conseil
Lorsque vous définissez les paramètres suivants, vous pouvez facilement utiliser ce notebook avec différents jeux de données :
IS_CUSTOM_DATA = False # if TRUE, dataset has to be uploaded manually
DATA_ROOT = "/lakehouse/default"
DATA_FOLDER = "Files/churn" # folder with data files
DATA_FILE = "churn.csv" # data file name
L’extrait de code suivant télécharge une version publiquement disponible du jeu de données, puis stocke cette ressource dans un lac Fabric :
Important
Veillez à ajouter un lakehouse au notebook avant de l’exécuter. L’échec de cette opération entraîne une erreur.
import os, requests
if not IS_CUSTOM_DATA:
# Download demo data files into lakehouse if not exist
remote_url = "https://synapseaisolutionsa.z13.web.core.windows.net/data/bankcustomerchurn"
file_list = [DATA_FILE]
download_path = f"{DATA_ROOT}/{DATA_FOLDER}/raw"
if not os.path.exists("/lakehouse/default"):
raise FileNotFoundError(
"Default lakehouse not found, please add a lakehouse and restart the session."
)
os.makedirs(download_path, exist_ok=True)
for fname in file_list:
if not os.path.exists(f"{download_path}/{fname}"):
r = requests.get(f"{remote_url}/{fname}", timeout=30)
with open(f"{download_path}/{fname}", "wb") as f:
f.write(r.content)
print("Downloaded demo data files into lakehouse.")
Contenu connexe
Vous utilisez les données que vous venez d’ingérer :