Partager via


Partie 1 du tutoriel : Ingérer des données dans un lac Microsoft Fabric à l’aide d’Apache Spark

Dans ce tutoriel, vous allez ingérer des données dans des lakehouses Fabric au format delta lake. Certains termes importants à comprendre :

  • Lakehouse - A lakehouse est une collection de fichiers/dossiers/tables qui représentent une base de données sur un lac de données utilisé par le moteur Spark et le moteur SQL pour le traitement big data et qui inclut des fonctionnalités améliorées pour les transactions ACID lors de l’utilisation des tables mises en forme Delta open source.

  • 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 de données par lots et de diffusion en continu vers Apache Spark. Une table Delta Lake est un format de table de données qui étend les fichiers de données Parquet avec un journal des transactions sous forme de fichiers pour les transactions ACID et une gestion évolutive des métadonnées.

  • Azure Open Datasets sont des jeux de données publics organisés que vous pouvez utiliser pour ajouter des fonctionnalités spécifiques à des scénarios aux solutions d'apprentissage automatique afin de créer des modèles plus précis. Les jeux de données ouverts se trouvent dans le cloud sur Le Stockage Microsoft Azure et sont accessibles par différentes méthodes, notamment Apache Spark, l’API REST, La fabrique de données et d’autres outils.

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.

    Capture d’écran du menu sélecteur d’expérience, montrant où sélectionner Data Science.

  • Ajouter un lakehouse à ce notebook. Vous allez télécharger des données à partir d’un objet blob public, puis stocker les données dans le lakehouse.

Suivre dans le notebook

1-ingest-data.ipynb est le notebook qui accompagne ce tutoriel.

Données de perte de clients bancaires

Le jeu de données contient l’état d’attrition de 10 000 clients. Il inclut également des attributs qui peuvent avoir un impact sur la perte de clientèle, par exemple :

  • Score de crédit
  • Emplacement géographique (Allemagne, France, Espagne)
  • Sexe (mâle, femelle)
  • Âge
  • Mandat (années de client de la banque)
  • Solde du compte
  • Salaire estimé
  • Nombre de produits qu’un client a achetés par le biais de la banque
  • État de la carte de crédit (qu’un client dispose d’une carte de crédit ou non)
  • État du membre actif (qu’il s’agisse du client d’une banque active ou non)

Le jeu de données inclut également des colonnes telles que le numéro de ligne, l’ID client et le nom du client qui n’ont aucun impact sur la décision du client de quitter la banque.

L’événement qui définit l’attrition du client est la fermeture du compte bancaire du client. La colonne exited dans le jeu de données fait référence à l’abandon du client. Il n’y a pas beaucoup de contexte disponible sur ces attributs. Vous devez donc continuer sans avoir d’informations générales sur le jeu de données. L’objectif est de comprendre comment ces attributs contribuent à l’état exited.

Exemples de lignes du 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

En définissant facilement les paramètres suivants, vous pouvez 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

Ce code télécharge une version publique du jeu de données, puis la stocke dans un lakehouse Fabric.

Important

Assurez-vous d’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.blob.core.windows.net/public/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.")

Vous allez utiliser les données que vous venez d’ingérer :