Samouczek— część 1. Pozyskiwanie danych do usługi Microsoft Fabric Lakehouse przy użyciu platformy Apache Spark
W tym samouczku pozyskujesz dane w usłudze Fabric lakehouse w formacie delta lake. Niektóre ważne terminy, które należy zrozumieć:
Lakehouse — usługa Lakehouse to kolekcja plików/folderów/tabel reprezentujących bazę danych w usłudze Data Lake używanej przez aparat Spark i aparat SQL do przetwarzania danych big data, która obejmuje rozszerzone możliwości transakcji ACID podczas korzystania z tabel sformatowanych przez funkcję delta typu open source.
Delta Lake — usługa 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 do platformy Apache Spark. Tabela usługi Delta Lake to format tabeli danych, który rozszerza pliki danych Parquet przy użyciu dziennika transakcji opartego na plikach na potrzeby transakcji ACID i skalowalnego zarządzania metadanymi.
Zestawy danych Platformy Azure Open to wyselekcjonowane publiczne zestawy danych, których można użyć do dodawania funkcji specyficznych dla scenariuszy 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.
- Zapisywanie danych w tabeli delty usługi Fabric lakehouse.
Wymagania wstępne
Uzyskaj subskrypcję usługi Microsoft Fabric. Możesz też utworzyć konto bezpłatnej wersji próbnej usługi Microsoft Fabric.
Zaloguj się do usługi Microsoft Fabric.
Użyj przełącznika środowiska po lewej stronie głównej, aby przełączyć się na środowisko usługi Synapse Nauka o danych.
- Dodaj magazyn lakehouse do tego notesu. Będziesz pobierać dane z publicznego obiektu blob, a następnie przechowywać dane w magazynie lakehouse.
Postępuj zgodnie z instrukcjami w notesie
1-ingest-data.ipynb to notes, który towarzyszy temu samouczkowi.
Aby otworzyć towarzyszący notes na potrzeby tego samouczka, postępuj zgodnie z instrukcjami w temacie Przygotowywanie systemu do celów nauki o danych, aby zaimportować notes do obszaru roboczego.
Jeśli wolisz skopiować i wkleić kod z tej strony, możesz utworzyć nowy notes.
Przed rozpoczęciem uruchamiania kodu pamiętaj, aby dołączyć usługę Lakehouse do notesu .
Dane współczynnika zmian bankowych
Zestaw danych zawiera stan zmian 10 000 klientów. Zawiera również atrybuty, które mogą mieć wpływ na współczynnik zmian, 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 klient banku aktywnego)
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 definiuje współczynnik zmian 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 exited
stanu.
Przykładowe wiersze z zestawu danych:
"CustomerID" | "Nazwisko" | "CreditScore" | "Geografia" | "Płeć" | "Wiek" | "Czas użytkowania" | "Saldo" | "NumOfProducts" | "HasCrCard" | "IsActiveMember" | "EstimatedSalary" | "Zakończono" |
---|---|---|---|---|---|---|---|---|---|---|---|---|
15634602 | Hargrave | 619 | Francja | Kobieta | 42 | 2 | 0,00 | 1 | 1 | 1 | 101348.88 | 1 |
15647311 | Hill | 608 | Hiszpania | Kobieta | 41 | 1 | 83807.86 | 1 | 0 | 1 | 112542.58 | 0 |
Pobieranie zestawu danych i przekazywanie do usługi Lakehouse
Napiwek
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 lakehouse usługi Fabric.
Ważne
Przed uruchomieniem tego notesu upewnij się, że dodasz magazyn lakehouse . 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.")
Powiązana zawartość
Użyjesz właśnie pozyskanych danych w: