<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=266259327823226&amp;ev=PageView&amp;noscript=1">
Skip to content

Databricksin hyödyntäminen big data -analytiikassa (5/5) – Tekninen toteutus

Aikaisemmissa blogipostauksissa esiteltiin Databricksin arkkitehtuuria, kehitystä, tehokkuutta ja kustannuksia sekä visualisointien avustamaa analysointia. Tässä blogisarjan viimeisessä osassa esittelen mielestäni tärkeimmät huomiot toteutuksesta teknisellä tasolla. Pyrin ennen kaikkea nostamaan esille ne hankalammin Googlella löydettävät yksityiskohdat, jotka mahdollistavat sarjassa esitellyn arkkitehtuurillisen toteutuksen.

Ad hoc -analysoinnin mahdollistaminen Databricksillä ja Power BI:llä

Ensimmäinen nice to know -knoppi tulee, kun haluat käyttää Data Lake Store Gen 2:sta Databricksin lähteenä. Yhdistäminen tapahtuu Service Principalilla. Käytettävälle applikaatiolle tulee antaa Storage Account Contributor (tai Reader) -oikeudet lähderesurssiin. Huomiona siis, että pelkkä Contributor-oikeus ei ole riittävä. Tämän jälkeen containerin mounttaus on suoraviivainen toimenpide, josta löytyy googlaamalla hyvät ohjeet. Käytännössä ajetaan yksi Python-skripti.

AdHoc-analysoinnin mahdollistaminen DataBricksillä ja Power BI:llä

Lähdedata oli esimerkissä CSV-muodossa, eikä vaatinut suurempaa siivoamista. Tiedot ladattiin data frameen, joka tallennettiin klusteriin tauluksi. Tällöin tiedot kirjoittuvat fyysisesti klusterin levyjärjestelmään.

Tiedon aggregointi ja tallentaminen tauluun

Toteutuksessa käytin Spark SQL:ää tiedon aggregoimiseen ja tallentamiseen. SQL kielenä tarjoaa selkeitä etuja yksinkertaisella syntaksillaan tämänkaltaisten työvaiheiden suorittamiseksi. Verrattuna vaikka Pythoniin, jossa vastaavan tuloksen saamiseksi olisi joutunut kirjoittamaan ainakin omasta mielestäni huomattavasti paljon sekavamman koodinpätkän. INSERT INTO & SELECT FROM -yhdistelmästä on vaikea enää selkeydessä parantaa.

Tiedon aggregointi ja tallentaminen tauluun

Klusterin asetuksia muutettaessa joutui aggregoinnin skriptiin lisäämään vielä "REFRESH TABLE"-komennon raw_data -taululle. Tämä saattaa olla hyvä best practise, jos vastaavaa joutuu tekemään tuotantototeutuksiin, ja haluaa hyödyntää SQL-syntaksia. Olettaen tietysti, ettei pysty ensimmäisellä kerralla arvioimaan lopullista klusterin kokoonpanoa nappiin.

Databricksin yhdistäminen Power BI:hin

Klusterin Advanced Options -kohdan alta löytyy JDBC/ODBC -välilehti, jonka alta taas löytyy JDBC URL. Tuota urlia hieman muokkaamalla (kuva) saadaan aikaiseksi Power BI:tä varten tarvittava connection string. Yhteystyypiksi Power BI:ssä valitaan spark ja käyttäjätunnukseksi sana "token". Salasanaksi luodaan Databricksissä Access Token, joka löytyy User Settingsien takaa. Tämän jälkeen luodut taulut löytyvät Power BI:stä ongelmitta, ja ne voi liittää normaaliin tapaan tietomalliksi.

DataBricksin yhdistäminen Power BI:hin

databricksin-hyodyntaminen-big-data-analytiikassa-tekninen-toteutus-3

DataBricksin yhdistäminen Power BI:hin

 

Lue myös:

Databricksin hyödyntäminen big data -analytiikassa (1/5) – Arkkitehtuuri

Databricksin hyödyntäminen big data -analytiikassa (2/5) – Kehitys

Databricksin hyödyntäminen big data -analytiikassa (3/5) – Tehokkuus ja kustannukset

Databricksin hyödyntäminen big data -analytiikassa (4/5) – Analysointi

 

(Blog in English coming soon...)