Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym samouczku dane są wczytywane do magazynów danych w formacie lakehouse na platformie usługowej Fabric w formacie Delta Lake. Tutaj definiujemy kilka ważnych terminów:
Lakehouse — lakehouse to kolekcja plików, folderów i / lub tabel reprezentujących bazę danych w usłudze Data Lake. Silnik Spark i silnik SQL używają zasobów "lakehouse" do przetwarzania big data. W przypadku korzystania z tabel w formacie delta typu open source przetwarzanie obejmuje rozszerzone możliwości transakcji ACID.
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. Jako format tabeli danych usługa Delta Lake rozszerza pliki danych Parquet za pomocą dziennika transakcji opartego na plikach na potrzeby transakcji ACID i skalowalnego zarządzania metadanymi.
Zestawy danych Usługi Azure Open to wyselekcjonowane publiczne zestawy danych, które dodają funkcje specyficzne dla scenariusza do rozwiązań uczenia maszynowego. Prowadzi to do bardziej dokładnych modeli. Otwarte zestawy danych to zasoby w chmurze, które znajdują się w usłudze Microsoft Azure Storage. Platforma Apache Spark, interfejs API REST, fabryka danych i inne narzędzia mogą uzyskiwać dostęp do otwartych zestawów danych.
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ć konto bezpłatnej 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.
- Dodaj lakehouse do tego notesu. W tym samouczku najpierw pobierzesz dane z publicznego zasobu blob. Następnie dane są przechowywane w tym zasobie lakehouse.
Notuj na bieżąco w notesie
Notatnik 1-ingest-data.ipynb 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 dotyczące odpływu klientów banku
Zestaw danych zawiera informacje o stanie odejścia klientów dla 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 (liczba lat, w których klient był klientem w tym banku)
- Saldo konta
- Szacowane wynagrodzenie
- Liczba produktów zakupionych przez klienta za pośrednictwem banku
- Stan karty kredytowej (niezależnie od tego, czy klient ma kartę kredytową)
- Stan aktywnego członka (bez względu na to, czy klient ma aktywny stan klienta bankowego)
Zestaw danych zawiera również następujące kolumny:
- numer wiersza
- identyfikator klienta
- nazwisko klienta
Te kolumny nie powinny mieć wpływu na decyzję klienta o opuszczeniu banku.
Zamknięcie konta bankowego klienta oznacza utratę tego klienta. Kolumna zestawu danych exited odnosi się do porzucenia klienta. Dostępny jest niewielki kontekst dotyczący tych atrybutów, więc musisz kontynuować bez informacji podstawowych dotyczących zestawu danych. Naszym celem jest zrozumienie, w jaki sposób te atrybuty przyczyniają się do exited stanu.
Przykładowe wiersze 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
Podczas definiowania następujących parametrów można ł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
Poniższy fragment kodu pobiera publicznie dostępną wersję zestawu danych, a następnie przechowuje ten zasób w usłudze Fabric lakehouse:
Ważny
Upewnij się, że dodasz lakehouse do notatnika przed jego uruchomieniem. Niepowodzenie w tym celu powoduje 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.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.")
Powiązana zawartość
Wykorzystujesz dane, które właśnie pozyskałeś: