Microsoft Fabric: Notebooks

Microsoft Fabric: Notebooks
Kirjoittanut Tommi Penttilä
10.04.2024 - Lukuaika 5 min
Microsoft Fabric

Kuin Databricks, mutta hivenen parempi

Aikaisemmissa blogiteksteissämme Timi käsitteli ansiokkaastikin Fabricin integraatiotyökuormia, eli Data Factorya ja Dataflow Gen2:ta. Tässä postauksessa on tarkoitus käydä läpi näistä viimeinen, eli Notebookit.

Notebookeissa kehittäjä voi yhdistellä kuvia, tekstiä, kaavioita ja ajettavia koodinpätkiä. Tämä mahdollistaa kehitystyön nopean dokumentoinnin, jakamisen ja yhdenaikaisen kehittämisen useamman kehittäjän kesken. Notebookit muodostuvat soluista, joita voidaan ajella yksinään tai kokonaisuutena. Tämä taas mahdollistaa koodin nopean testaamisen lennosta. Kaiken kaikkiaan melko kätevää ja kehittäjäystävällistä. Notebookeilla kehitetään Apache Spark työkuormia, eli ohjelmointiin on mahdollista käyttää pyyttonia, äsquuällää, scalaa tai ärrää. Lisätietoja Apache Sparkista löytyy täältä (https://spark.apache.org/).

Evoluutio

Notebookit ovat erityisesti datatieteissä ja koneoppimisessa yleinen tapa koodin kehittämiselle ja tulosten esittämiselle. Niitä on käytetty muun muassa Jupyterissä, Azure Synapsessa, Amazon Sagemakerissa, Google Colabissa ja Databricksissä. Nähdäkseni juuri Databricksin Notebookkien myötä myös datainsinöörit kiinnostuivat Notebookkien käyttämisestä erityisesti integraatiotyökuormien kehittämisessä. Ymmärtääkseni Databricks ei tähän tietoisesti pyrkinyt, eli kyseessä oli puhdas vahinko. Ja nyt Microsoft hyödyntää tätä vahinkoa ja tuo Notebookit Data Factoryn ja Data Flown rinnalle kolmanneksi intagraatiotyökuormavälineeksi.

Havaintoja

Omat Notebook-kokemukseni rajoittuvat Databricksiin, joten Fabricin Notebookkeja arvioidaan tästä näkökulmasta.

Yleistunnelma: Notebook-käyttöliittymä muistuttaa melko paljon Databricksin vastaavaa. IntelliSense tuntuu toimivan ehkä jopa hivenen paremmin. Käyttöliittymä on Notebookkeja käyttäneelle melko intuitiivinen. Työtilassa käytössä olevat lähteet saa mukavasti tuotua valmiiksi näkymään käyttöliittymän vasempaan laitaan, josta niitä on helppo käyttää. Soluja voi kommentoida erikseen, mutta en näe miten tämä tuottaa lisäarvoa verrattuna perinteiseen koodin kommentointiin, mutta onpahan sekin mahdollista. Notebookkien exporttaaminen ja importtaaminen sujuu myös melko kätevästi.

Ajastus: Notebookkeja voidaan ajastaa suoraa käyttöliittymästä. Toinen vaihtoehto on kutsua niitä Pipelinesin puolelta. Äkkiseltään piippulinjojen käyttö kuulostaa järkevämmältä, että orkestrointi saadaan hoidettua yhdestä paikasta. Olettaen, että ympäristössä ajetaan Notebookkien lisäksi muitakin työkuormia.

Kielen valinta: Notebookille valitaan kieli aivan kuten Databricksissäkin Notebookin ylälaidasta. Valittavana on niin ikään tutut PySpark (Python), Spark SQL, Spark (Scala) ja SparkR. Myös magic-komennot toimivat tuttuun tapaan, joskin syntaksi on hivenen eri. Esimerkiksi Databricksistä tuttu %py on korvattu Fabricissa komennolla %%pyspark. Näillä voidaan siis muuttaa yksittäisen solun kieli poikkeamaan Notebookin kielestä.

Valmiit skriptit: IntelliSense sisältää valmiiksi joitakin paljon käytettyjä skriptejä, eli snippettejä. Ne on sekoitettu IntelliSensen muihin syötteisiin. Kaikki löytyvät kirjoittamalla ”snippet”. Tällä hetkellä snippeteistä löytyy lähinnä datan visualisointiin, lukemiseen ja kirjoittamiseen liittyviä skriptejä. Ihan kätevää, jos minulta kysytään.

Fabric Snippet

Drag & drop: Notebookille voidaan lisätä lähteitä kätevästi käyttöliittymän vasempaan reunaan. Näitä lähteitä pystyy kätevästi kyselemään raahaamalla taulun tai tiedoston Notebookkiin. Muistuttaa hivenen SSMS:stä tuttua ”Select top 1000 from” -toimintoa. Myös kuvien drag & drop toimii.

Drag & Drop

Parametrisolu: Notebookin solu voidaan määrittää parametrisoluksi, jolloin sitä ajava piippulinja osaa ottaa tässä solussa annetut parametrit ja käsittelee niitä oletussyötteinä. Parametrit täytyy kuitenkin itse luoda piippulinjan puolelta. Olihan se liikaa vaadittu, että ne luotaisiin automaattisesti. Voit kuitenkin vaikuttaa suoraa piippulinjasta Notebookin parametreihin, mikä on melko kätevää.

Klusterin valinta: Fabricissa klusterien sijasta laskenta suoritetaan ”ympäristössä” (environment), joka valitaan Notebookin ylälaidasta (tuttuun tapaan). Huomion arvoista on se, että työtilan oletusympäristöä käytettäessä klusterin istunnon aloitus kestää noin 5 sekuntia. Tämä kuulostaa vanhan databricksjyyrän korvaan melko uskomattomalta, mutta uskottava on.

Copilot: Notebookkeja kirjoittaessa apua saa Copilotilta. Sitä voi kutsua klikkaamalla sivun yläreunasta tai käyttämällä magic-komentoa %%chat. Käytännössä ominaisuus on hyvin vastaavanlainen, kun Databricks Assistant, joskin Copilot tuntuu ymmärtävän kontekstin paremmin ja tuottaa parempia vastauksia. Copilot on käytettävissä vain F64 tai suuremmissa kapasiteeteissa, ja se täytyy käydä laittamassa erikseen päälle tenant-asetuksista.

Yhteenveto

Fabricin Notebookit muistuttavat kiusallisuuteen asti Databricksin vastaavia. Käyttökokemukseen on lisätty muutamia kekseliäitä ja kehittäjän työtä helpottavia asioita, joten joku voisi sanoa niitä jopa paremmiksi. Myös klusterin nopea käynnistyminen ansaitsee erityismaininnan. Lyhyehkön kehitysrupeaman aikana puutteita ei ole löytynyt.

Avainsanat:

Microsoft,

Fabric,

Notebook,

Integration

Tommi Penttilä
Tommi PenttiläData Engineer

Tommi on datainsinööri vahvalla painotuksella Azure-työkaluihin ja Databricksiin. Azuren lisäksi kiinnostuksen kohteita ovat musiikki ja brasilialainen jujutsu.

tommi@dataclinic.fi+358 40 911 9306

Tilaa blogin uutiskirje

Saa ilmoitus sähköpostiisi uusista julkaisuistamme dataan ja teknologioihin liittyen

Data Clinic logo

Nosta liiketoimintasi uudelle tasolle

Yhteystiedot

+358 50 551 9293

Osoite

Siltasaarenkatu 12 C, 8. kerros

00530 Helsinki

Laskutus

Näkemystä datasi hyödyntämiseen

© 2024 Data Clinic Oy

Tämä sivusto käyttää evästeitä palveluiden toimittamisessa, käyttäjäkokemuksen parantamisessa ja liikenteen analysoinnissa