Lernprogramm Teil 1: Aufnehmen von Daten in ein Microsoft Fabric Lakehouse mit Apache Spark
In diesem Tutorial erfassen Sie Daten im Delta Lake-Format in Fabric-Lakehouses. Einige wichtige Begriffe, die Sie verstehen sollten:
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, eine skalierbare Metadatenverwaltung sowie Batch- und Streaming-Datenverarbeitung für Apache Spark bietet. Eine Delta Lake-Tabelle ist ein Datentabellenformat, das Parquet-Datendateien mit einem dateibasierten Transaktionsprotokoll für ACID-Transaktionen und eine skalierbare Metadatenverwaltung erweitert.
Azure Open Datasets sind kuratierte öffentliche Datasets, mit denen Sie szenariospezifische Features zu Machine Learning-Lösungen für genauere Modelle hinzufügen können. Offene Datasets befinden sich in der Cloud in Microsoft Azure Storage und können über verschiedene Methoden wie Apache Spark, REST-API, Data Factory und andere Tools aufgerufen werden.
In diesem Lernprogramm verwenden Sie den Apache Spark für:
- Lesen von Daten aus Azure Open Datasets-Containern.
- Schreiben von Daten in die Delta-Tabelle eines Fabric-Lakehouse
Voraussetzungen
Erhalten Sie ein Microsoft Fabric-Abonnement. Oder registrieren Sie sich für eine kostenlose Microsoft Fabric-Testversion.
Melden Sie sich bei Microsoft Fabrican.
Verwenden Sie den Erfahrungsschalter auf der unteren linken Seite Ihrer Startseite, um zu Fabric zu wechseln.
- Fügen Sie diesem Notizbuch ein Seehaus hinzu. Sie werden Daten aus einem öffentlichen Blob herunterladen und dann die Daten im Seehaus speichern.
Notebook für das Tutorial
1-ingest-data.ipynb ist das Notebook, das dieses Tutorial begleitet.
Zum Öffnen des zugehörigen Notizbuchs für dieses Lernprogramm folgen Sie den Anweisungen in Vorbereiten Ihres Systems für Data Science-Lernprogramme, um das Notizbuch in Ihren Arbeitsbereich zu importieren.
Wenn Sie den Code lieber von dieser Seite kopieren und einfügen möchten, können Sie ein neues Notizbucherstellen.
Fügen Sie unbedingt ein Lakehouse an das Notebook an, bevor Sie mit der Ausführung von Code beginnen.
Kundenschwunddaten der 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)
- Alter
- Dauer (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)
- Status eines aktiven Mitglieds (unabhängig davon, ob der Kunde einer aktiven Bank 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 Abwanderung des Kunden definiert, ist das Schließen des Bankkontos des Kunden. Die Spalte exited
im Datensatz bezieht sich auf die Abwanderung von Kunden. Es steht nicht viel Kontext zu diesen Attributen zur Verfügung, sodass Sie fortfahren müssen, ohne Hintergrundinformationen zum Dataset zu haben. Ziel ist es zu verstehen, wie diese Attribute zum exited
Status beitragen.
Beispielzeilen aus dem Dataset:
"CustomerID" | "Nachname" | „CreditScore“ | "Geographie" | "Geschlecht" | Alter | „Tenure“ | Gleichgewicht | AnzahlDerProdukte | „HasCrCard“ | „IsActiveMember“ | Geschätztes Gehalt | „Exited“ |
---|---|---|---|---|---|---|---|---|---|---|---|---|
15634602 | Hargrave | 619 | Frankreich | Weiblich | 42 | 2 | 0,00 | 1 | 1 | 1 | 101348.88 | 1 |
15647311 | Hügel | 608 | Spanien | Weiblich | 41 | 1 | 83807.86 | 1 | 0 | 1 | 112542.58 | 0 |
Dataset herunterladen und in das Lakehouse hochladen
Tipp
Indem Sie die folgenden Parameter definieren, können Sie dieses Notizbuch ganz einfach mit verschiedenen Datasets verwenden.
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 Datasets herunter und speichert sie dann in einem Fabric Lakehouse.
Wichtig
Fügen Sie ein Lakehouse zum Notebook hinzu, bevor Sie es ausführen. Andernfalls tritt ein Fehler auf.
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.")
Verwandte Inhalte
Sie verwenden die Daten, die Sie gerade aufgenommen haben: