Delen via


Zelfstudie deel 1: Gegevens opnemen in een Microsoft Fabric Lakehouse met behulp van Apache Spark

In deze zelfstudie neemt u gegevens op in Fabric Lakehouses in delta lake-indeling. Enkele belangrijke termen die u moet begrijpen:

  • Lakehouse - A lakehouse is een verzameling bestanden/mappen/tabellen die een database vertegenwoordigen boven een data lake dat wordt gebruikt door de Spark-engine en SQL-engine voor verwerking van big data en dat uitgebreide mogelijkheden voor ACID-transacties bevat bij het gebruik van de opensource-tabellen met Delta-indeling.

  • Delta Lake - Delta Lake is een opensource-opslaglaag die ACID-transacties, schaalbaar metagegevensbeheer en batch- en streaminggegevensverwerking naar Apache Spark brengt. Een Delta Lake-tabel is een gegevenstabelindeling die Parquet-gegevensbestanden uitbreidt met een op bestanden gebaseerd transactielogboek voor ACID-transacties en schaalbaar metagegevensbeheer.

  • Azure Open Datasets zijn samengestelde openbare gegevenssets die u kunt gebruiken om scenariospecifieke functies toe te voegen aan machine learning-oplossingen voor nauwkeurigere modellen. Open Datasets bevinden zich in de cloud in Microsoft Azure Storage en zijn toegankelijk via verschillende methoden, waaronder Apache Spark, REST API, Data Factory en andere hulpprogramma's.

In deze zelfstudie gebruikt u Apache Spark voor het volgende:

  • Gegevens lezen uit Azure Open Datasets-containers.
  • Schrijf gegevens naar een Fabric Lakehouse Delta-tabel.

Vereisten

  • Voeg een lakehouse toe aan dit notitieblok. U downloadt gegevens uit een openbare blob en slaat vervolgens de gegevens op in lakehouse.

Volgen in notitieblok

1-ingest-data.ipynb is het notebook dat bij deze zelfstudie hoort.

Als u het bijbehorende notitieblok voor deze zelfstudie wilt openen, volgt u de instructies in Uw systeem voorbereiden voor zelfstudies voor gegevenswetenschap om het notebook te importeren in uw werkruimte.

Als u liever de code van deze pagina kopieert en plakt, kunt u een nieuw notitieblok maken.

Zorg ervoor dat u een lakehouse aan het notebook koppelt voordat u begint met het uitvoeren van code.

Gegevens over bankverloop

De gegevensset bevat de verloopstatus van 10.000 klanten. Het bevat ook kenmerken die van invloed kunnen zijn op het verloop, zoals:

  • Kredietscore
  • Geografische locatie (Duitsland, Frankrijk, Spanje)
  • Geslacht (mannelijk, vrouwelijk)
  • Leeftijd
  • Dienstverband (jaren van bankklant zijn)
  • Accountsaldo
  • Geschat salaris
  • Aantal producten dat een klant heeft gekocht via de bank
  • Status van creditcard (of een klant een creditcard heeft of niet)
  • Status van actief lid (of de klant van een actieve bank of niet)

De gegevensset bevat ook kolommen zoals rijnummer, klant-id en de achternaam van de klant die geen invloed mag hebben op de beslissing van de klant om de bank te verlaten.

De gebeurtenis die het verloop van de klant definieert, is het sluiten van de bankrekening van de klant. De kolom exited in de gegevensset verwijst naar de afbreking van de klant. Er is niet veel context beschikbaar over deze kenmerken, dus u moet doorgaan zonder achtergrondinformatie over de gegevensset te hebben. Het doel is om te begrijpen hoe deze kenmerken bijdragen aan de exited status.

Voorbeeldrijen uit de gegevensset:

"CustomerID" "Achternaam" "CreditScore" "Geografie" "Geslacht" "Leeftijd" "Dienstverband" "Saldo" "NumOfProducts" "HasCrCard" "IsActiveMember" "Geschatte" "Afgesloten"
15634602 Hargrave 619 Frankrijk Vrouwelijk 42 2 0,00 1 1 1 101348.88 1
15647311 Hill 608 Spanje Vrouwelijk 41 1 83807.86 1 0 1 112542.58 0

Gegevensset downloaden en uploaden naar Lakehouse

Tip

Door de volgende parameters te definiƫren, kunt u dit notebook eenvoudig gebruiken met verschillende gegevenssets.

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

Met deze code wordt een openbaar beschikbare versie van de gegevensset gedownload en vervolgens opgeslagen in een Fabric Lakehouse.

Belangrijk

Zorg ervoor dat u een lakehouse toevoegt aan het notebook voordat u het uitvoert. Als u dit niet doet, treedt er een fout op.

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

U gebruikt de gegevens die u zojuist hebt opgenomen: