Del via


Selvstudium Del 1: Indfødning af data i et Microsoft Fabric lakehouse ved hjælp af Apache Spark

I dette selvstudium skal du overføre data til Fabric lakehouses i delta lake-format. Nogle vigtige begreber til at forstå:

  • Lakehouse – Et lakehouse er en samling filer/mapper/tabeller, der repræsenterer en database over en datasø, der bruges af Spark-programmet og SQL-programmet til big data-behandling, og som omfatter forbedrede funktioner for ACID-transaktioner, når du bruger Delta-formaterede tabeller med åben kildekode.

  • Delta Lake – Delta Lake er et lagerlag med åben kildekode, der leverer ACID-transaktioner, skalerbar metadataadministration og batch- og streamingdatabehandling til Apache Spark. En Delta Lake-tabel er et datatabelformat, der udvider Parquet-datafiler med en filbaseret transaktionslog for ACID-transaktioner og skalerbar metadataadministration.

  • Azure Open Datasets er organiserede offentlige datasæt, som du kan bruge til at føje scenariespecifikke funktioner til løsninger til maskinel indlæring for at få mere nøjagtige modeller. Open Datasets findes i cloudmiljøet på Microsoft Azure Storage og kan tilgås af forskellige metoder, herunder Apache Spark, REST API, Data factory og andre værktøjer.

I dette selvstudium skal du bruge Apache Spark til at:

  • Læs data fra Azure Open Datasets-objektbeholdere.
  • Skriv data til en Fabric lakehouse-deltatabel.

Forudsætninger

  • Få et Microsoft Fabric-abonnement. Du kan også tilmelde dig en gratis Prøveversion af Microsoft Fabric.

  • Log på Microsoft Fabric.

  • Brug oplevelsesskifteren i venstre side af startsiden til at skifte til Synapse Data Science-oplevelsen.

    Screenshot of the experience switcher menu, showing where to select Data Science.

  • Føj et lakehouse til denne notesbog. Du henter data fra en offentlig blob og derefter gemmer dataene i lakehouse.

Følg med i notesbogen

1-ingest-data.ipynb er den notesbog, der følger med dette selvstudium.

Hvis du vil åbne den medfølgende notesbog til dette selvstudium, skal du følge vejledningen i Forbered dit system til selvstudier om datavidenskab for at importere notesbogen til dit arbejdsområde.

Hvis du hellere vil kopiere og indsætte koden fra denne side, kan du oprette en ny notesbog.

Sørg for at vedhæfte et lakehouse til notesbogen , før du begynder at køre kode.

Bankafgangsdata

Datasættet indeholder status for 10.000 kunder. Den indeholder også attributter, der kan påvirke fald, f.eks.:

  • Kreditscore
  • Geografisk placering (Tyskland, Frankrig, Spanien)
  • Køn (mand, kvinde)
  • Alder
  • Ansættelse (år som bankkunde)
  • Kontosaldo
  • Anslået løn
  • Antal produkter, som en kunde har købt via banken
  • Kreditkortstatus (uanset om en kunde har et kreditkort eller ej)
  • Aktiv medlemsstatus (uanset om det er en aktiv banks kunde eller ej)

Datasættet indeholder også kolonner som rækkenummer, kunde-id og kundenavn, der ikke bør have nogen indvirkning på kundens beslutning om at forlade banken.

Den hændelse, der definerer kundens opsigelse, er lukningen af kundens bankkonto. Kolonnen exited i datasættet refererer til kundens opgivelse. Der er ikke meget tilgængelig kontekst om disse attributter, så du skal fortsætte uden at have baggrundsoplysninger om datasættet. Målet er at forstå, hvordan disse attributter bidrager til exited status.

Eksempelrækker fra datasættet:

"Kunde-id" "Efternavn" "CreditScore" "Geografi" "Køn" "Alder" "Ansættelse" "Saldo" "NumOfProducts" "HasCrCard" "IsActiveMember" "EstimatedSalary" "Afsluttet"
15634602 Hargrave 619 Frankrig Kvinde 42 2 0,00 1 1 1 101348.88 0
15647311 Hill 608 Spanien Kvinde 41 0 83807.86 0 0 0 112542.58 0

Download datasæt, og upload til lakehouse

Tip

Ved at definere følgende parametre kan du nemt bruge denne notesbog med forskellige datasæt.

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

Denne kode downloader en offentligt tilgængelig version af datasættet og gemmer det derefter i et Fabric lakehouse.

Vigtigt

Sørg for at føje et lakehouse til notesbogen, før du kører den. Hvis du ikke gør det, medfører det en fejl.

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

Du skal bruge de data, du lige har indtaget i: