Udostępnij za pośrednictwem


Samouczek— część 1. Pozyskiwanie danych do usługi Microsoft Fabric Lakehouse przy użyciu platformy Apache Spark

W tym samouczku będziesz importować dane do lakehouse'ów Fabric w formacie Delta Lake. Niektóre ważne terminy, które należy zrozumieć:

  • Lakehouse — Lakehouse to kolekcja plików/folderów/tabel, które reprezentują bazę danych nad jeziorem danych, używaną przez silnik Spark i silnik SQL do przetwarzania dużych zbiorów danych, i która obejmuje rozszerzone możliwości transakcji ACID podczas korzystania z tabel w formacie open-source Delta.

  • Delta Lake — Delta Lake to warstwa magazynu typu open source, która zapewnia transakcje ACID, skalowalne zarządzanie metadanymi oraz przetwarzanie danych wsadowych i przesyłanych strumieniowo dla Apache Spark. Tabela Delta Lake to format tabeli danych, który rozszerza pliki danych Parquet poprzez transakcyjny dziennik oparty na plikach, obsługujący transakcje ACID i skalowalne zarządzanie metadanymi.

  • azure Open Datasets to wyselekcjonowane publiczne zestawy danych, których można użyć do dodawania funkcji specyficznych dla scenariusza do rozwiązań uczenia maszynowego w celu uzyskania bardziej dokładnych modeli. Otwarte zestawy danych znajdują się w chmurze w usłudze Microsoft Azure Storage i mogą być dostępne za pomocą różnych metod, takich jak Apache Spark, interfejs API REST, fabryka danych i inne narzędzia.

W tym samouczku użyjesz platformy Apache Spark do:

  • Odczytywanie danych z kontenerów usługi Azure Open Datasets.
  • Zapisz dane w tabeli delta w lakehouse Fabric.

Warunki wstępne

  • Pobierz subskrypcję usługi Microsoft Fabric . Możesz też utworzyć bezpłatne konto wersji próbnej usługi Microsoft Fabric.

  • Zaloguj się do usługi Microsoft Fabric.

  • Użyj przełącznika środowiska w lewej dolnej części strony głównej, aby przełączyć się na Fabric.

    Zrzut ekranu przedstawiający menu selektora doświadczenia, pokazujące, gdzie wybrać pozycję Nauka o danych.

  • Dodaj lakehouse do tego notesu. Będziesz pobierać dane z publicznego obiektu blob, a następnie przechowywać je w magazynie typu lakehouse.

Postępuj zgodnie z instrukcjami w notesie

1-ingest-data.ipynb to notatnik, który towarzyszy temu samouczkowi.

Dane dotyczące odpływu klientów banku

Zestaw danych zawiera stan rezygnacji 10 000 klientów. Obejmuje także atrybuty, które mogą mieć wpływ na rotację klientów, na przykład:

  • Ocena kredytowa
  • Lokalizacja geograficzna (Niemcy, Francja, Hiszpania)
  • Płeć (mężczyzna, kobieta)
  • Wiek
  • Kadencja (lata bycia klientem banku)
  • Saldo konta
  • Szacowane wynagrodzenie
  • Liczba produktów zakupionych przez klienta za pośrednictwem banku
  • Stan karty kredytowej (czy klient ma kartę kredytową, czy nie)
  • Stan aktywnego członka (bez względu na to, czy jest aktywnym klientem banku, czy nie)

Zestaw danych zawiera również kolumny, takie jak numer wiersza, identyfikator klienta i nazwisko klienta, które nie powinny mieć wpływu na decyzję klienta o opuszczeniu banku.

Zdarzenie, które określa odejście klienta, to zamknięcie konta bankowego klienta. Kolumna exited w zestawie danych odnosi się do porzucenia klienta. Nie ma zbyt dużego kontekstu dostępnego dla tych atrybutów, więc musisz kontynuować bez posiadania podstawowych informacji o zestawie danych. Celem jest zrozumienie, w jaki sposób te atrybuty przyczyniają się do stanu exited.

Przykładowe wiersze z zestawu danych:

"CustomerID" "Nazwisko" Ocena kredytowa "Geografia" "Płeć" "Wiek" "Czas użytkowania" "Saldo" LiczbaProduktów "HasCrCard" CzyCzłonekAktywny Szacowana pensja "Zakończono"
15634602 Hargrave 619 Francja Kobieta 42 2 0.00 1 1 1 101348.88 1
15647311 Wzgórze 608 Hiszpania Kobieta 41 1 83807.86 1 0 1 112542.58 0

Pobieranie zestawu danych i przekazywanie do usługi Lakehouse

Wskazówka

Definiując następujące parametry, możesz łatwo użyć tego notesu z różnymi zestawami danych.

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

Ten kod pobiera publicznie dostępną wersję zestawu danych, a następnie przechowuje go w Fabric lakehouse.

Ważny

Upewnij się, że dodałeś lakehouse do notesu przed uruchomieniem. Niepowodzenie w tym celu spowoduje wystąpienie błędu.

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żyjesz właśnie pozyskanych danych w: