Jaa


Opetusohjelma, osa 1: Tietojen käyttö Microsoft Fabric -lakehousessa Apache Sparkin avulla

Tässä opetusohjelmassa käsitellään Fabric Lakehouses -tietoja Delta Lake -muodossa. Tärkeitä ymmärrettäviä termejä:

  • Lakehouse – Lakehouse on kokoelma tiedostoja, kansioita/taulukoita, jotka edustavat tietokantaa Data Lake -tallennustilasta, jota Spark-moduuli ja SQL-moduuli käyttävät massadatan käsittelyyn. Se sisältää parannetut ominaisuudet ACID-tapahtumiin, kun käytetään avoimen lähdekoodin Delta-muotoiltuja taulukoita.

  • Delta Lake - Delta Lake on avoimen lähdekoodin tallennuskerros, joka tuo ACID-tapahtumat, skaalattavan metatietojen hallinnan sekä erä- ja suoratoistotietojen käsittelyn Apache Sparkiin. Delta Lake -taulukko on tietotaulukkomuoto, joka laajentaa Parquet-datatiedostoja tiedostopohjaisella tapahtumalokilla ACID-tapahtumia varten ja skaalattavien metatietojen hallinnassa.

  • Azure Open Datasets on koottu julkinen tietojoukko, jonka avulla voit lisätä skenaariokohtaisia ominaisuuksia koneoppimisratkaisuihin tarkempien mallien aikaansaamiseksi. Avoimet tietojoukot sijaitsevat Microsoft Azure -tallennus pilvipalvelussa, ja niitä voidaan käyttää useilla eri tavoilla, kuten Apache Spark, REST API, Data Factory ja muut työkalut.

Tässä opetusohjelmassa käytetään Apache Sparkiä

  • Lue tietoja Azure Open Datasets -säilöistä.
  • Kirjoita tietoja Fabric Lakehouse delta -taulukkoon.

Edellytykset

Seuraa mukana muistikirjassa

1-ingest-data.ipynb on muistikirja, joka seuraa tätä opetusohjelmaa.

Jos haluat avata tämän opetusohjelman liitteenä olevan muistikirjan, tuo muistikirja työtilaasi noudattamalla ohjeita kohdassa Järjestelmän valmisteleminen datatieteen opetusohjelmia varten.

Jos haluat kopioida ja liittää koodin tältä sivulta, voit luoda uuden muistikirjan.

Muista liittää lakehouse muistikirjaan ennen kuin aloitat koodin suorittamisen.

Pankin vaihtuvuustiedot

Tietojoukko sisältää 10 000 asiakkaan vaihtuvuustilan. Se sisältää myös määritteitä, jotka voivat vaikuttaa vaihtuvuutta, kuten:

  • Luottopisteet
  • Maantieteellinen sijainti (Saksa, Ranska, Espanja)
  • Sukupuoli (mies, nainen)
  • Ikä
  • Asiakkuuden pituus (pankin asiakkaana olemisen vuodet)
  • Tilin saldo
  • Arvioitu palkka
  • Niiden tuotteiden määrä, jotka asiakas on ostanut pankin kautta
  • Luottokortin tila (riippumatta siitä, onko asiakkaalla luottokortti vai ei)
  • Aktiivisen jäsenen tila (riippumatta siitä, onko aktiivisen pankin asiakas vai ei)

Tietojoukko sisältää myös sarakkeet, kuten rivin numeron, asiakastunnuksen ja asiakkaan sukunimen, joilla ei pitäisi olla vaikutusta asiakkaan päätökseen erota pankista.

Tapahtuma, joka määrittää asiakkaan vaihtuvuuden, on asiakkaan pankkitilin loppu. Tietojoukon sarake exited viittaa asiakkaan hylkäämiseen. Näille määritteille ei ole paljon kontekstia käytettävissä, joten sinun täytyy jatkaa ilman tietojoukon taustatietoja. Tarkoituksena on ymmärtää, miten nämä määritteet vaikuttavat exited tilaan.

Esimerkkirivit tietojoukosta:

"Asiakastunnus" "Sukunimi" "CreditScore" "Maantiede" "Sukupuoli" "Ikä" "Hallinnan kesto" "Saldo" "NumOfProducts" "HasCrCard" "IsActiveMember" "Arvioitu vaihtoehto" "Exited"
15634602 Hargrave 619 Ranska Nainen 42 2 0.00 1 1 1 101348.88 1
15647311 Hill 608 Espanja Nainen 41 1 83807.86 1 0 1 112542.58 0

Lataa tietojoukko ja lataa se Lakehouseen

Vihje

Määrittämällä seuraavat parametrit voit käyttää tätä muistikirjaa eri tietojoukkojen kanssa helposti.

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

Tämä koodi lataa tietojoukosta julkisesti saatavilla olevan version ja tallentaa sen Fabric lakehouse -järjestelmään.

Tärkeä

Varmista, että lisäät muistikirjaan lakehousen, ennen kuin suoritat sen. Jos näin ei tehdä, tuloksena on virhe.

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.")

Käytät juuri käyttämiäsi tietoja: