Tutoriál, časť 1: Použite Apache Spark na importovanie dát do Microsoft Fabric lakehouse

Tento tutoriál spracováva dáta do Fabric lakehouses vo formáte delta lake. Tu definujeme niektoré dôležité pojmy:

  • Lakehouse – lakehouse je kolekcia súborov, priečinkov a / alebo tabuliek, ktoré predstavujú databázu cez dátové jazero. Nástroj Spark a nástroj SQL používajú zdroje lakehouse na spracovanie veľkého objemu údajov. Keď použijete open-source tabuľky naformátované pomocou delta, toto spracovanie obsahuje vylepšené možnosti transakcií ACID.

  • Delta Lake – Delta Lake je open-source ukladací priestor, ktorý prináša transakcie ACID, škálovateľnú správu metaúdajov a spracovanie dávkových a streamovaných údajov do Apache Spark. Ako formát tabuľky údajov Delta Lake rozširuje súbory údajov Parquet pomocou denníka transakcií na základe súboru pre transakcie ACID a škálovateľnú správu metaúdajov.

  • Azure Open Datasets sú kurátorské verejné dátové súbory, ktoré pridávajú špecifické funkcie do riešení strojového učenia. To vedie k presnejším modelom. Open Datasets sú cloudové zdroje, ktoré sa nachádzajú na Microsoft Azure Storage. Apache Spark, REST API, Data factory a ďalšie nástroje majú prístup k otvoreným množinám údajov.

V tomto kurze budete používať Apache Spark na:

  • Read data from Azure Open Datasets containers.
  • Zapíšte dáta do tabuľky delty jazerného domu Fabric.

Predpoklady

Poznámka

Predtým, než začnete, uistite sa, že ste dokončili kroky Pripravte svoj systém : vytvorte pracovný priestor, vytvorte chatu pri jazere a pripojte ho k svojmu zápisníku. Ukážkové dáta použité v tomto tutoriáli pochádzajú z verejného kontajnera Azure Open Datasets a sú programovo prístupné v kóde zápisníka.

Sledovanie v poznámkovom bloke

Tento kurz sprevádza poznámkový blok 1-ingest-data.ipynb .

Prepitné

Tento tutoriál číta ukážkové dáta z kontajnera Azure Open Datasets. Ak narazíte na chybu prístupu pri načítavaní dát, môžete si súbor churn.csv stiahnuť z fabric-samples GitHub repozitára a nahrať ho do svojho jazerného domu.

Údaje o bankovej výpovedi

Množina údajov obsahuje informácie o stave vypovedania zmluvy pre 10 000 zákazníkov. Obsahuje aj atribúty, ktoré by mohli mať vplyv na výpovede zamestnancov, napríklad:

  • Kreditné skóre
  • Geografická poloha (Nemecko, Francúzsko, Španielsko)
  • Pohlavie (muž, žena)
  • Vek
  • Doba využívania (počet rokov, počas ktorých bol klientom v tejto banke)
  • Zostatok na konte
  • Odhadovaný plat
  • Počet produktov, ktoré zákazník kúpil prostredníctvom banky
  • Stav kreditnej karty (bez ohľadu na to, či má zákazník kreditnú kartu)
  • Stav aktívneho člena (bez ohľadu na to, či má zákazník aktívny stav bankového zákazníka)

Množina údajov obsahuje aj tieto stĺpce:

  • číslo riadka
  • ID zákazníka
  • priezvisko zákazníka

Tieto stĺpce by nemali mať žiadny vplyv na rozhodnutie zákazníka opustiť banku.

Zatvorenie bankového účtu zákazníka definuje odchod zákazníka. Stĺpec množiny exited údajov odkazuje na opustenie zákazníka. K dispozícii je malý kontext o týchto atribútoch, takže musíte pokračovať bez informácií o množine údajov. Naším cieľom je pochopiť, ako tieto atribúty prispievajú k exited stavu.

Riadky vzorovej množiny údajov:

"CustomerID" (ID zákazníka) "Surname" "CreditScore" "Geography" (Geografia) "Pohlavie" "Age" (Vek) "Doba využívania" "Zostatok" "NumOfProducts" (PočetProduktov) HasCrCard "IsActiveMember" EstimatedSalary (Odhad) "Skončené"
15634602 Hargrave 619 Francúzsko Samica 42 2 0.00 1 1 1 101348.88 1
15647311 Kopec 608 Španielsko Samica 41 1 83807.86 1 0 1 112542.58 0

Stiahnutie množiny údajov a nahratie do služby lakehouse

Prepitné

Pri definovaní nasledujúcich parametrov môžete tento poznámkový blok jednoducho použiť s rôznymi množinami údajov:

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

Nasledujúci úryvok kódu stiahne verejne dostupnú verziu datasetu a potom tento zdroj uloží do Fabric lakehouse:

Dôležitý

Uistite sa, že ste pridali lakehouse do notebooku pred spustením. Ak to neurobíte, výsledkom bude chyba.

import os, requests
if not IS_CUSTOM_DATA:
# Download demo data files into lakehouse if not exist
    remote_url = "https://synapseaisolutionsa.z13.web.core.windows.net/data/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.")

Použijete údaje, ktoré ste práve prejdú: