Kurz 1. část: Ingestování dat do Microsoft Fabric Lakehouse pomocí Apache Sparku
V tomto kurzu budete ingestovat data do Fabric Lakehouses ve formátu Delta Lake. Některé důležité termíny, které je potřeba pochopit:
Lakehouse – Lakehouse je kolekce souborů, složek a tabulek, které představují databázi pro datové jezero využívané engine Spark a engine SQL pro zpracování velkých objemů dat, a zahrnuje vylepšené schopnosti pro ACID transakce při použití tabulek ve formátu open-source Delta.
Delta Lake – Delta Lake je opensourcová vrstva úložiště, která přináší transakce ACID, škálovatelnou správu metadat a dávkové a streamované zpracování dat do Apache Sparku. Tabulka Delta Lake je formát datové tabulky, který rozšiřuje datové soubory Parquet pomocí transakčního protokolu založeného na souborech pro transakce ACID a škálovatelnou správu metadat.
azure Open Datasets jsou kurátorované veřejné datové sady, které můžete použít k přidání funkcí specifických pro scénáře do řešení strojového učení pro přesnější modely. Otevřené datové sady jsou v cloudu v Microsoft Azure Storage a různé metody mohou k datům přistupovat, včetně Apache Sparku, REST API, Data Factory a dalších nástrojů.
V tomto kurzu použijete Apache Spark k:
- Čtení dat z kontejnerů Azure Open Datasets
- Zapisujte data do tabulky Delta v systému Fabric Lakehouse.
Požadavky
Získejte předplatné Microsoft Fabric. Nebo si zaregistrujte bezplatnou zkušební verzi Microsoft Fabric.
Přihlaste se do Microsoft Fabric.
Pomocí přepínače prostředí v levém dolním rohu domovské stránky přepněte na Fabric.
- Přidejte do tohoto poznámkového bloku datové jezero. Budete stahovat data z veřejného blobu a poté je uložíte do lakehouse.
Sledujte v poznámkovém bloku
1-ingest-data.ipynb je poznámkový blok, který doprovází tento kurz.
Pokud chcete otevřít doprovodný poznámkový blok pro tento kurz, postupujte podle pokynů v tématu Příprava systému pro kurzy datových věd, abyste mohli importovat poznámkový blok do svého pracovního prostoru.
Pokud chcete raději zkopírovat a vložit kód z této stránky, můžete vytvořit nový poznámkový blok.
Než začnete spouštět kód, nezapomeňte k poznámkovému bloku připojit lakehouse.
Data o odchodu zákazníků banky
Datová sada obsahuje stav odchodu 10 000 zákazníků. Obsahuje také atributy, které by mohly mít vliv na četnost změn, například:
- Skóre kreditu
- Zeměpisné umístění (Německo, Francie, Španělsko)
- Pohlaví (muž, žena)
- Věk
- Doba trvání (roky jako zákazník banky)
- Zůstatek na účtu
- Odhadovaný plat
- Počet produktů zakoupených zákazníkem prostřednictvím banky
- Stav platební karty (bez ohledu na to, jestli má zákazník platební kartu nebo ne)
- Stav aktivního člena (bez ohledu na to, jestli zákazník aktivní banky nebo ne)
Datová sada obsahuje také sloupce, jako je číslo řádku, ID zákazníka a příjmení zákazníka, které by neměly mít žádný vliv na rozhodnutí zákazníka opustit banku.
Událost, která definuje odchod zákazníka, je uzavření jeho bankovního účtu. Sloupec exited
v datové sadě odkazuje na opuštění zákazníka. K těmto atributům není k dispozici mnoho kontextu, takže musíte pokračovat bez informací o datové sadě na pozadí. Cílem je pochopit, jak tyto atributy přispívají ke stavu exited
.
Ukázkové řádky z datové sady:
"CustomerID" (ID zákazníka) | "Příjmení" | "CreditScore" | "Zeměpisná oblast" | "Pohlaví" | "Věk" | "Výdrž" | Rovnováha | PočetProduktů | "HasCrCard" | JeAktivníČlen | Odhadovaný plat | "Ukončeno" |
---|---|---|---|---|---|---|---|---|---|---|---|---|
15634602 | Hargrave | 619 | Francie | Žena | 42 | 2 | 0.00 | 1 | 1 | 1 | 101348.88 | 1 |
15647311 | Kopec | 608 | Španělsko | Žena | 41 | 1 | 83807.86 | 1 | 0 | 1 | 112542.58 | 0 |
Stažení datové sady a nahrání do Lakehousu
Tip
Definováním následujících parametrů můžete tento poznámkový blok snadno použít s různými datovými sadami.
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
Tento kód stáhne veřejně dostupnou verzi datové sady a pak ji uloží do objektu Fabric Lakehouse.
Důležitý
Než ho spustíte, nezapomeňte do poznámkového bloku přidat lakehouse. Pokud to neuděláte, dojde k chybě.
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.")
Související obsah
Použijete data, která jste právě ingestují: