Modern adatplatform és produktív, elemezni akaró üzleti felhasználók
A modernizálódó, tudatosan adatokat hasznosító vállalatok számára a gyors és megbízható döntéshozatal kulcsa az, hogy a szervezet minden szintjén hozzáférhetővé tegyék a folyamatosan növekvő adatmennyiséget. Ennek érdekében fontos, hogy az üzleti területek kulcsfelhasználói és az IT / Data (BI) csapatok hatékonyan tudjanak együtt dolgozni adatalapú “termékeken”, szolgáltatásokon és integrált keretek között tudjanak feladatokat megosztani egymás között. Jelen cikkünkben két haladó platformot mutatunk be, amelyek hozzásegíthetik a felhasználóinkat ehhez a célhoz: a Databrickset és a KNIME-ot az együttes használat esetén.
A Databricks egységes, felhőalapú Lakehouse platformja az egyik legdinamikusabban fejlődő szereplő a nagyméretű adatfeldolgozás, adattárolás és fejlett analitika (AI is) piacán.
Számos vállalatnál hatékonyan támogatja az adatbázis-átállásokat, az IT / Data csapatokat, adatmérnököket és adatelemzőket.
A KNIME átlátható, low-code/no-code környezetet kínál az adatintegrációtól a gépi tanulásig (Machine learning; AI) terjedő teljes folyamat támogatására.
Segítő eszközként az üzleti kulcsfelhasználók, üzleti elemzők számára is, a fejlesztői csapatok mellett.
A kezdet egyszerű vele, mert számos publikus tréningtartalom mellett ingyenesen (élesben) kipróbálható. A cikkben részletezett képességek teljes funkcionalitásban kipróbálhatóak az ingyenes verzióval (működő Databricks környezet esetén).
A két eszközrendszer integrációja új távlatokat nyit az Enterprise Analytics (EA, BI, AI) világában, hiszen egyesíti a Databricks skálázhatóságát a KNIME vizuális workflow építésének gyorsaságával, ezáltal biztosítva mind az adatmérnökök / adattudósok, mind az üzleti elemzők számára a hatékony működést, együttműködést.
Miért Databricks? És miért KNIME?
Amennyiben közelebbről megvizsgáljuk a piaci trendeket, azt láthatjuk, hogy mind a Databricks, mind a KNIME jelentős és növekvő népszerűségű a vállalatok széles körében.
Databricks
Elemzések szerint a platform 2025-re már a Fortune 500 vállalatok ~60%-ánál jelen van valamilyen formában, és a Big Data Analytics szektorban összesen ~30%-os piaci részesedést ért el (Databricks és Azure Databricks együtt)
Éves árbevétel-növekedése meghaladja a ~60-70%-ot, köszönhetően annak, hogy a Lakehouse architektúra egységesíti az adat- és az AI-munkafolyamatokat
Az IDC előrejelzése szerint 2028-ra az európai szervezetek jelentős része már teljes mértékben felhőben tárolja majd nyers és modellezett adatait (~ $60 milliárd mértékű árbevételt generálva), olyan felhőkompatibilis platformokat segítségül hívva, mint amilyen a Databricks is
A Databricks stratégiai befektetései – köztük a MosaicML felvásárlása – azt vetítik előre, hogy a Lakehouse koncepció az AI-fejlesztések elsődleges terepévé válik.
KNIME
A KNIME 2017 óta évi ~30-40%-os bevételnövekedést mutat, 400 vállalati ügyféllel és több mint 300.000 felhasználóval a világ minden táján. Ezzel az egyik legnagyobb low-code data science közösségnek számít.
A KNIME ügyfélkörének jelentős része nagyvállalati szereplő, és a KNIME piacvezető szereplőként jelen van a Fortune 500-as cégek között is
A KNIME-hoz hasonló low-code/no-code megoldások iránti globális kereslet is meredeken emelkedik. Előrejelzések szerint 2030-ra a low-code/no-code piaci értéke elérheti a 187 milliárd dollárt, és mára az új üzleti alkalmazások több mint 65%-a ilyen eszközökkel készül.
A KNIME és a Databricks találkozása ezt a kettős trendet – a skálázható felhőinfrastruktúra és a demokratizált adatfeldolgozás igényét – szolgálja ki, biztosítva, hogy a jelenlegi és jövőbeli trendek, igények mindegyike lefedhető legyen piacvezető eszközökkel.
A KNIME–Databricks integráció
Közelebbről megvizsgálva a technológiákat, a Databricks esetében adott egy olyan adattárolási és adatfeldolgozási platform, amely a vállalati adatvagyon alapját biztosítja. Mivel fontos megteremteni az egy igazság elvét a vállalaton belül, így tekinthetünk erre egy olyan központi elemként, ahová az összes felhasználónak kapcsolódnia kell a felmerülő adatigények esetén. Kivétel nélkül az innen származó adatokat szükséges lekérdezni, „elhozni” valamilyen módon. Annak érdekében, hogy ez hatékonyan és automatizáltan tudjon működni, a felhasználók által igénybe vett céleszközöknek (amilyen a KNIME is), szükséges integrálódniuk a Databricksszel, elérni az ottani objektumokat, biztosítani az adatátvitelt, megfelelő jogosultság esetén visszaírni. Lentebb bemutatjuk a KNIME integráció részleteit, kialakításának lépéseit. Mivel a KNIME teljes funkcionalitásában ingyenesen letölthető (https://www.knime.com/downloads), ezért az itt bemutatott node-ok, elemzések használhatóak/kipróbálhatóak. Továbbá a Databricks is rendelkezik Free Editionnel, amely bár néhány funkció tekintetében korlátozott, kipróbálási/bemutatási/tanulási célra nagyon jól használható, akár saját használatra is. Ehhez a Databricks oldalán szükséges ingyenes fiókot regisztrálni, saját vagy céges e-mail címmel, és e-mail verifikációt követően már használható is az eszköz. Így könnyedén kipróbálható a teljes KNIME – Databricks összekapcsolási folyamat.
Kapcsolódás
Nemrég megjelent a KNIME Databricks Integration csomag (ingyenesen beágyazható bővítmény, LINK). Ez közvetlen, grafikus felületet kínál Unity Catalog Volumes, Databricks SQL Warehouse és klasszikus cluster erőforrások eléréséhez.
A felhasználók mindössze néhány kattintással létrehozhatják a hitelesített kapcsolatot Personal Access Token (PAT) vagy Microsoft Entra ID alapon, így a teljes Databricks adatállomány egyetlen node-on keresztül elérhetővé válik a KNIME munkafolyamatok számára.
Kapcsolódás után a KNIME adattárház node-jai alkalmazhatóak a Databricks Spark keretrendszerére is. Így nem a felhasználó gépén, hanem a Spark „motorján” futnak az ETL/ELT logikák, valamint az adat sem „mozog” a gépünk és az adattárház között.
Így az adatok mozgatása minimalizálható, a feldolgozás pedig akár több TB-nyi adathalmaz esetén is percek alatt eredményt ad. A KNIME vizuális felületén Spark-SQL node-ok, tabuláris transzformációs lépések és Python-alapú custom script blokkok is kombinálhatók.
Érdemes részletesen megismerni az adattárház node-okat, nagyon széles funkciópalettával rendelkeznek, azonban előfordulhat, hogy ezek a node-ok nem kínálnak valamilyen speciális node-ot, amelyet a KNIME felülete egyéb esetben kínál. Ebben az esetben a szűkített adatkör KNIME-ba való importálása után a platform teljes funkciópalettájával segíthetjük a vállalati adatfeldolgozást.
Ebben az esetben a transzformációk nem a Spark keretrendszeren, hanem a gépünkön történnek meg. Az egy igazság előteremtésében pedig segítségünkre sietnek az adattárház, big data és databricks node-jai, melyekkel vissza tudjuk írni a módosításokat az „egy igazságba”.
A KNIME workflow építőjében a klasszikus statisztikai modellektől az AutoML-en át a deep learning keretrendszerekig minden modell elérhető. A Databricks Machine Learning runtime-on futó modelltréningek eredményei közvetlenül visszatölthetők a KNIME-ba, így a Data Scientist és a Data / Citizen analyst egy közös környezetben dolgozhat.
Amennyiben a felhasználók KNIME-on keresztül használják ezeket, akkor node-okon keresztül finomhangolhatnak modelleket, majd ezeket egyetlen gombnyomással deployolhatják a Databricks Model Serving szolgáltatásába.
Minta workflow a KNIME Databricks integráció bemutatására, a későbbiekben csatolt kurzusból
Implementációs útmutató
Szélesebb körű fejlesztés előtt érdemes több stratégiai lépésben gondolkodva előkészíteni, körüljárni a KNIME-Databricks implementációs lehetőségeket a vállalaton belül, és felmérni a hozzájuk kapcsolódó követelményeket. Cikkünk ezen része ebben nyújt segítséget.
Javaslat: Pilot implementációs projekt szélesebb körű kiterjesztés előtt
Vállalati szintű kiterjesztés előtt érdemes pilot projektet indítani jól körülhatárolható üzleti problémára (például churn előrejelzésre, kisebb adatelőkészítés utáni elemzésre/riportingra), amellyel kipróbálhatók az eszközpárosítás nyújtotta lehetőségek/erősségek, és hogy ezek ténylegesen biztosítják-e az elvárt funkcionalitást.
Ilyen módon már jobban testreszabott megoldás implementálható, és átültethetők a vállalat egyedi igényei, környezeti adottságai a megoldásba, csökkentve az általánosítást és a demókban leképezett ideális alaphelyzet esetleges torzítását.
Ilyen esetben például jobban előfordul adattisztítási feladat, így erre a részre is kell figyelmet fordítani az adatok elérése, valamint a későbbi elemzések mellett.
Az integrációs esetek között is megvizsgálható, hogy milyen módon implementálhatóak ezek az adott vállalat környezetében.
Fejlesztési módszertanok, legjobb gyakorlatok is kialakíthatók, amiket a későbbi, nagyobb volumenű fejlesztésnél érdemes majd követni a fenntartható, hosszútávú megoldások implementálása érdekében.
Ilyenek lehetnek például node kombinációk, amelyek megadják a kötelező node-ok paraméterezését, ezáltal jól sokszorosítható megoldást létrehozva.
Általános (KNIME) rétegekben is érdemes gondolkodni, szeparálni a workflow-t a könnyebb kezelhetőséghez – adatok elérése / manipuláció / output.
Annak érdekében, hogy az eredmények jól kiértékelhetőek legyenek, érdemes adat- és üzleti oldali szakembereket is bevonni a workflow-építésbe, valamint a pilot értékelésébe, akárcsak maguknál a későbbi fejlesztési projekteknél, szélesebb körű kiterjesztésnél.
Ilyen megközelítés mellett gyors iterációkon keresztül található meg, hogy üzleti oldalról nézve miként lehet igazán értéket teremteni, és technológiai tudás is azonnal rendelkezésre áll a prototípus implementálása érdekében.
Több szakaszra osztott pilot / prototipizálás – adatok elérése, felmérése és megértése, adattisztítási feladatok, adatelemzés és véglegesítés / prezentálás.
Továbbá későbbi kiterjesztéshez, implementációs projektekhez is értékes inputként szolgálhat, hogy mekkora egy-egy fejlesztés kapacitásigénye, és mikor milyen kompetenciával rendelkező kollégákra lesz pontosan szükség.
Projektek átfutási ideje és kapacitásigénye a projekt kick-offtól, felmérésen, fejlesztésen, tesztelésen át egészen a véglegesítésig és a bemutatásig.
Mikor mit érdemes használni? à Gyakorlati példán keresztül szemléltetve
Tárolásra (táblák, fájlok, modellek és egyéb kiinduló elemek) a Databricks Lakehouse skálázhatóságát érdemes használni, kiaknázva az ottani lehetőségeket, valamint megfelelően rendszerezni az adatvagyont, megteremteni az egy igazság elvét.
KNIME-ba már csak aggregált és előkészített (szűrt, csoportosított) táblákat érdemes betölteni, amelyek a Databricks node-okon keresztül kerültek meghívásra. Ezeken célszerű elvégezni a további adatelőkészítési, fejlett analitikai és/vagy riporting lépéseket.
Bemutatási céllal készítettünk egy minta workflow-t annak érdekében, hogy ez a gyakorlatban is szemléltethető legyen.
IFUA Horváth által készített minta workflow, mely a későbbiekben bemutatásra és részletezésre kerül
Ingyenes Databricks fiók létrehozása és a környezet felállítása
Első lépésként létrehoztunk egy ingyenes Databricks fiókot, mely jó választás tanulási, kipróbálási esetekre (korlátozottabb funkcionalitás).
A fiók alapértelmezetten tartalmaz már elemeket - Unity Catalogot, minta adathalmazokat, publikus modelleket és sok mást.
A példa kedvéért Unity Catalog Volume-jára feltöltöttünk fiktív, bolti eladási adatokat tartalmazó CSV fájlokat.
Emellett a másik adatforrásunk az alapértelmezetten elérhető Serverless SQL Warehouse-ban megtalálható sütödei mintaadatok voltak.
Az authentikáció érdekében létrehoztunk egy PAT-t, és összegyűjtöttük Databricks oldalon a szükséges infókat a kapcsolatok előkészítéséhez.
2. KNIME oldali Databricks authentikáció
A fenti példák mentén kialakítottunk PAT segítségével egy kapcsolatot a Databricks workspace-szel, hogy el tudjuk érni az ottani elemeket.
Ezután egyrészt a Unity File System-et vizsgáltuk, és a lementett CSV fájlokat olvastuk be, amelyek a bolti eladási adatokat tartalmazzák.
Ezen a részen „csak” fájl oldali beolvasás történt, ezután már KNIME-ban találhatóak az adatok, ott alakíthatóak tovább.
Másrészt pedig a Serverless SQL Warehouse-hoz csatlakoztunk, lekérdezve a sütödei minta adatokat.
Itt az SQL táblák miatt tovább maradt Databricks oldalon az adat, az adatbázis, majd a táblák lekérése után SQL oldali lekérdezéseket hoztunk létre.
Ezek a lekérdezés-összerakási node-ok egy nagy SQL lekérdezést raktak össze, és csak a beolvasási node-nál töltötték át az adatokat KNIME oldalra, aggregálva és szűrve azokat.
Az adatok lekérdezésén túl kinyerhető maga az elkészült lekérdezés is, amennyiben szükséges ezt részeletesebben vizsgálni, más felületre átültetni, ezt is beépítettük a workflow-ba egy ún. annotation-be.
Databricks és Databricks SQL warehouse csatlakozás, adattranszformáció az SQL-ben
3. KNIME oldali üzleti logikák és ETL
Ezután következett még néhány KNIME oldali üzleti logika, kisebb adatelőkészítési lépés megvalósítása.
Itt már kisebb adatmennyiségekkel dolgoztunk, és ezek olyan szűréseket és adatátalakításokat, strukturálásokat jelentettek, amelyek a végső, összegzett formára hozzák az adatokat.
Ilyen jellegű átalakításokra (is), amelyek már az adatok üzletileg / vezetői oldalról történő jobb olvashatóságát célozzák, nagyon jól használható a KNIME, low-code módon.
Unity File system fájljaiból adattranszformációk segítségével döntéshozásra alkalmas adathalmaz kialakítása
4.Vizualizáció és riportkészítés az adatokból
A workflow végére készítettünk 1-1 összefoglaló riportoldalt is az adatokból.
Ehhez több vizualizációs és riporting node-ot (view-t) használtunk, és ezeket komponenssé alakítva készítettük el a riportoldalakat, amelyek között akár dinamikusan is lehet váltani.
Érdemes megjegyezni, hogy bár a KNIME nem Visual Analytics eszköz, ezekkel a node-okkal akár itt az eszközön belül is kialakíthatók vizualizációk, riportoldalak.
Mivel PDF export formában is kinyerhetőek az így készült riportoldalak, egyszerűbb tömeges riportingra is alkalmas lehet.
Továbbá érdemes megemlíteni a GenericE Charts View node-ot is, amely AI promptolás segítségével rendkívül felhasználóbaráttá teszi a diagramkészítést, és Apache Echarts alapú kódja (Javascript vizualizáció) miatt szinte bármilyen funkciót megvalósíthatóvá tesz (a korábbi nehézkesebb / korlátozottabb KNIME diagram készítéshez képest).
Technikai követelmények, előfeltételek az integrálhatósághoz
Legalább a KNIME Analytics Platform 4.7+ verziója (ingyenes termék) vagy KNIME Business Hub (fizetős termék) megléte szükséges
A fentebbi minta workflow-hoz a KNIME 5.5.1-es verzióját használtuk
Databricks személyes vagy vállalati workspace megléte, legalább SQL Pro Warehouse réteggel
A fentebbi minta workflow-hoz ingyenes Databricks fiókot, és abban található Serverless SQL Warehouse-t használtunk.
Hálózati hozzáférés szükséges a *.cloud.databricks.com domainekhez és a 443-as porthoz
Összegzés
Tapasztalataink alapján is hiszünk benne, hogy a kódok feletti átláthatóság, vezérelhetőség, workflowok, gyors átvezetések, módosítások, könnyen behúzható dobozokba “rejtett” algoritmusok további üzleti felhasználókat tudnak a standard, nagy teljesítményű technológiai térbe vonzani az Excel-es rugalmasnak gondolt láthatatlan korlátaiból.
A KNIME és a Databricks integrációja lehetővé teszi, hogy a szervezetek a felhőalapú Lakehouse funkcionalitást low-code/no-code módon, üzleti igényekhez igazítva használják ki. Az integráció egyesíti a vizuális workflow-építés átláthatóságát a Databricks által nyújtott vállalati szintű teljesítménnyel, így mind a Data Scientist/Data Engineer, mind a Data Analyst hatékonyabban tud értéket teremteni.
A korai tapasztalatok alapján a megoldás jelentős hatékonyságjavulást hozhat az adatalapú döntéstámogatásban – a magyar piacon is, így érdemes pilot formájában is kipróbálni, hogy konkrét eseteken keresztül is érzékelhetők legyenek az említett előnyök.
Szerzők:
Balázs Bertold (vezető tanácsadó, nagyvállalati riporting szakértő, KNIME termékfelelős)
Demeter Ákos (tanácsadó, Microsoft BI platformfelelős és KNIME kulcsfelhasználó)
Csaba Tamás (szenior szakértő, Databricks rendszermérnök, termékfelelős, feketeöves adatmérnök)
Havas Levente (partner, az IFUA Horváth Enterprise Analytics kompetencia központjának vezetője)