Freigeben über


Teil 1 des Tutorials: Erfassen von Daten in einem Microsoft Fabric-Lakehouse mithilfe von Apache Spark

In diesem Tutorial erfassen Sie Daten im Delta Lake-Format in Fabric-Lakehouses. Einige wichtige Begriffe zum besseren Verständnis:

  • Lakehouse: Ein Lakehouse ist eine Sammlung von Dateien, Ordnern und Tabellen, die eine Datenbank über einem Data Lake darstellt, der von der Spark-Engine und der SQL-Engine für die Big Data-Verarbeitung verwendet wird, und die erweiterte Funktionen für ACID-Transaktionen bei Verwendung der formatierten Open-Source-Delta-Tabellen enthält.

  • Delta Lake: Delta Lake ist eine Open-Source-Speicherebene, die ACID-Transaktionen, skalierbare Metadatenverwaltung sowie Batch- und Streamingdatenverarbeitung in Apache Spark ermöglicht. Eine Delta Lake-Tabelle ist ein Datentabellenformat, das Parquet-Datendateien mit einem dateibasierten Transaktionsprotokoll für ACID-Transaktionen und skalierbarer Metadatenverarbeitung erweitert.

  • Azure Open Datasets enthält kuratierte öffentliche Datasets, mit denen Sie Lösungen für maschinelles Lernen szenariospezifische Features hinzufügen können, um genauere Modelle zu erzielen. Open Datasets befinden sich in der Cloud in Microsoft Azure Storage, und es kann mit verschiedenen Methoden wie Apache Spark, REST-API, Data Factory und anderen Tools auf sie zugegriffen werden.

In diesem Tutorial verwenden Sie Apache Spark für Folgendes:

  • Lesen von Daten aus Azure Open Datasets-Containern
  • Schreiben von Daten in eine Fabric-Lakehouse-Delta-Tabelle

Voraussetzungen

  • Fügen Sie ein Lakehouse zu diesem Notebook hinzu. Sie werden Daten aus einem öffentlichen Blob herunterladen und die Daten dann im Lakehouse speichern.

Notebook für das Tutorial

1-ingest-data.ipynb ist das Notebook, das dieses Tutorial begleitet.

Um das zugehörige Notebook für dieses Tutorial zu öffnen, befolgen Sie die Anweisungen unter Vorbereiten Ihres Systems für Data-Science-Tutorials zum Importieren des Notebooks in Ihren Arbeitsbereich.

Wenn Sie den Code lieber von dieser Seite kopieren und einfügen möchten, können Sie auch ein neues Notebook erstellen.

Fügen Sie unbedingt ein Lakehouse an das Notebook an, bevor Sie mit der Ausführung von Code beginnen.

Abwanderungsdaten für eine Bank

Das Dataset enthält den Abwanderungsstatus von 10.000 Kunden. Es enthält zudem Attribute, die sich auf die Abwanderung auswirken können, z. B.:

  • Kreditwürdigkeit
  • Geografischer Standort (Deutschland, Frankreich, Spanien)
  • Geschlecht (männlich, weiblich)
  • Age
  • Dauer (Anzahl der Jahre als Bankkunde)
  • Kontostand
  • Geschätztes Gehalt
  • Anzahl der Produkte, die ein Kunde über die Bank erworben hat
  • Kreditkartenstatus (ob ein Kunde über eine Kreditkarte verfügt oder nicht)
  • Aktiver Mitgliedsstatus (ob der Kunde ein aktiver Bankkunde ist oder nicht)

Das Dataset enthält auch Spalten wie Zeilennummer, Kunden-ID und Kundenname, die keine Auswirkungen auf die Entscheidung des Kunden haben sollten, die Bank zu verlassen.

Das Ereignis, das die Kundenabwanderung definiert, ist das Schließen des Bankkontos des Kunden. Die Spalte exited im Dataset bezieht sich auf die Abwanderung des Kunden. Da zu diesen Attributen nicht viel Kontext verfügbar ist, müssen Sie ohne Hintergrundinformationen zum Dataset fortfahren. Das Ziel ist es zu verstehen, wie diese Attribute zum exited-Status beitragen.

Beispielzeilen aus dem Dataset:

"CustomerID" "Surname" "CreditScore" "Geography" "Gender" "Age" "Tenure" "Balance" "NumOfProducts" "HasCrCard" "IsActiveMember" "EstimatedSalary" "Exited"
15634602 Hargrave 619 Frankreich Weiblich 42 2 0,00 1 1 1 101348.88 1
15647311 Hill 608 Spanien Weiblich 41 1 83807.86 1 0 1 112542.58 0

Herunterladen des Datasets und Hochladen in Lakehouse

Tipp

Durch Definieren der folgenden Parameter können Sie dieses Notebook problemlos auf verschiedene Datensätze anwenden.

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

Dieser Code lädt eine öffentlich verfügbare Version des Datensatzes herunter und speichert ihn dann in einem Fabric Lakehouse.

Wichtig

Fügen Sie ein Lakehouse zum Notebook hinzu, bevor Sie ihn ausführen. Andernfalls kommt es zu einem Fehler.

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.")

Sie verwenden die gerade erfassten Daten unter: