Gyorsan nőtt az eddigiekben az Apache Spark, a Hadooppal használt in-memory adatfeldolgozó rendszer népszerűsége, ami elsősorban annak köszönhető, hogy a YARN keretrendszerrel kiragadja a felhasználókat a régi vágású MapReduce algoritmusok teljesítménykorlátai közül. A Hadoopot ért bírálatok zömét ugyanis a hagyományos, egydimenziós, kötegelt feldolgozási modell váltotta ki, amelytől a Spark segítségével megszabadulhatnak a vállalatok.
Mostantól azonban még fényesebben - és talán valamivel kékebben - ragyog majd a szikra, hívta fel a figyelmet testvérlapunk, az InfoWorld. Júniusban ugyanis megjelent a Spark 1.4-es verziója, amely az eddigieknél kiterjedtebben támogatja az R és a Python nyelveket, valamint a számítógépfürtök (clusterek) felügyeletét. Egy hónap sem telt el, és olyan cégek álltak a Spark mögé, mint az Amazon, az IBM és a Microsoft.
Többnyelvű keretrendszer
Júniusban kibocsátott új, 1.4-es verziójával a Spark adatfeldolgozó keretrendszere az analitikusok által széles körben használt programnyelvek felé nyitott, és jobban hasznosítja az elosztott környezetek felügyeletére szolgáló menedzsmenteszközöket is.
A statisztikusok és adatkutatók által kedvelt R nyelv segítségével a fejlesztők olyan kódot írhatnak, amely egyszerre több processzormagon vagy Spark node-on futtatható, miközben írja és olvassa a Spark által támogatott összes adatformátumot. Az adatkutatás alapnyelvének számító és a gépi tanulást megvalósító kód írásához ugyancsak széles körben használt Pythont a Spark 2012 óta támogatja. Most megjelent 1.4-es verziója ezt a támogatást kiterjeszti a Python 3-ra, amit a felhasználók már vártak, különösen azóta, hogy a Fedora alapértelmezett fordítója a Python lett.
Minthogy a Spark elosztott környezetben fut, az 1.4-es verzió a meglévő klasztertechnológiák támogatása terén szintén szolgál újdonságokkal. Apache Mesosszal például a Spark Docker image-ként is indítható a klaszteren.
A Databricks szerint az 1.4-es verzió egyben a Tungsten-projekt alapjául szolgál, amely a Spark jövőbeni, teljes újraírását célozza, hogy az még jobban hasznosítsa a hardver-erőforrásokat, amelyeken fut. Kérdés azonban, hogy a Tungsten-projekt ütemezésére milyen hatással lesz a Spark vállalati támogatói táborának robbanásszerű növekedése.
Egy hónappal az új verzió kibocsátása után ugyanis az iparág több nagyágyúja sorakozott fel a Spark mögött. Az IBM például amellett, hogy Spark-támogatással bővítette Bluemix platformszolgáltatását, egyúttal bejelentette, hogy a gépi tanuláshoz szükséges algoritmusok előállítására kifejlesztett SystemML technológiájának kódját megnyitja és a Spark-közösségnek adományozza.
Az Amazon-felhő Elastic MapReduce szolgáltatásán mostantól Spark-alkalmazások is futnak, és az Azure HDInsight - a Hadoop Microsoft-felhőben hosztolt változata - szintén támogatja a keretrendszert. Beállt a Spark-támogatók táborába a kínai hálózati óriás Huawei is, amely saját felhőjében több szolgáltatását részben erre a keretrendszerre építi.
Tanuló gépek
Könnyebben futtathatók lesznek a gépi tanulás algoritmusai a Spark klasztereken az IBM bejelentése nyomán. A SystemML-t a cég kutatói eredetileg 2011-ben írták le olyan, az R-hez hasonló, magas szintű programnyelvként, amellyel elosztott környezetben könnyen futtatható algoritmusok készíthetők a gépi tanuláshoz. Az algoritmusokat MapReduce feladatokká fordították és optimalizálták, hogy fürtözött gépeken jól fussanak.
De mint arra cikkünk elején utaltunk, a MapReduce az utóbbi években kezdett háttérbe szorulni a nagyobb teljesítményt adó YARN mögött, és - részben ennek köszönhetően - a Spark népszerűsége is nőtt. Érthető ezért, hogy az IBM igyekszik túllépni a SystemML MapReduce-hagyományain, és a technológiát Sparkra áthangolni. Egyelőre nem világos viszont, hogy ez pontosan hogyan valósul majd meg a gyakorlatban. Kiadott sajtóközleményében csupán annyi olvasható, hogy együtt fog működni a Databricksszel a Spark ML-képességeinek továbbfejlesztésében. Testvérlapunk szerint az IBM a kód megnyitását követően valószínűleg SystemML-vonatkozású javításokat fog átadni a Databricksnek, és azokat közösen illesztik majd a Sparkba.
Sokkal előreláthatóbb az IBM másik lépése, a Spark hozzáadása a Bluemix platformszolgáltatáshoz, bár túl sok részletet egyelőre erről sem ismerünk. A cég megfogalmazásában a Bluemix részeként a Spark lehetővé teszi majd a fejlesztőknek, hogy gyorsan betöltsék az elemezni kívánt adatokat, elkészítsék a modelleket, majd a prediktív analitikai funkciót beépítsék alkalmazásaikba. A Bluemix meglévő szolgáltatásaiból kiindulva ez vélhetően azt jelenti, hogy a fejlesztők a szolgáltatásként használt Sparkot az IBM felhőplatformjának adatmenedzsment- vagy nagyadat-szolgáltatásával tárolt adataikhoz kapcsolják, például a BigInsights for Hadoophoz, a Hadoop Bluemixen futó, IBM-féle változatához. A Spark így önálló szolgáltatás maradna a cég felhőjében, amelyet a platformszolgáltatás különböző elemeivel és - az IBM hibrid felhőmegoldásain keresztül - magánfelhő-környezetükkel is összekapcsolhatnának a vállalatok, azt különböző forgatókönyvek szerint hasznosíthatnák.
A Microsoft szintén júliusban jelentette be az Apache Spark for Azure HDInsight nyilvánosan elérhető előzetesét, amely a cég szerint megkönnyíti majd a nagy adatkészletek gyors elemzését és a jelentések elkészítését, a felhőszolgáltatással ugyanis a felhasználók az általuk preferált BI adatvizualizáló eszközzel vagy nyílt forráskódú jegyzetfüzettel dolgozhatnak. Július 24-én jelent meg például a Microsoft felhőalapú analitikai megoldása, a Power BI - egészen pontosan annak továbbfejlesztett változata -, amely a Sparkhoz is beépített, használatra kész adatkapcsolatot kínál. A Spark for Azure HDInsight ugyanilyen konnektorokat ad más szállítók, közöttük a Qlik, a SAP és a Tableau üzletiintelligencia- és adatvizualizáló eszközeihez, amelyekkel a felhasználók szintén zökkenőmentesen elérhetik az Azure HDInsight szolgáltatáson futó Spark klasztereket. Emellett az adatokból kiolvasható történetek elmondásához az elemzők olyan nyílt forráskódú jegyzetfüzeteket használhatnak, mint a Jupyter és a Zeppelin, amelyek ugyancsak futnak a Spark for Azure HDInsight szolgáltatáson.
Emlékeztet a Microsoft arra is, hogy a kötegelt és az interaktív elemzések mellett a Spark segítségével a vállalatok valós idejű alkalmazásokat építhetnek többek között a csalások észleléséhez, a kattintásfolyamok és az IoT-eszközökről érkező adatok analíziséhez. Jól jön ehhez, hogy a Spark for Azure HDInsight kész adatkonnektorokat ad az Azure Event Hubs valós idejű eseménykezelő szolgáltatáshoz is.
Nagyvállalati szintű megbízhatóságot ad a Sparkhoz azzal, hogy integrálta Azure platformjával, emelte ki még bejelentésében a Microsoft, utalva a szolgáltatás 99,9 százalékos rendelkezésre állást garantáló, általános SLA-jára, valamint a hét minden napján 24 órában elérhető támogatásra és klasztermonitorozásra. Miként az felhőszolgáltatások esetében megszokott, a Spark for HDInsight költséges és időigényes telepítés és beállítás nélkül, percek alatt használatba vehető. A Microsoft szolgáltatásával a Spark klaszter ugyanazon erőforrásain egy vagy több felhasználó egyszerre több elemzést futtathat párhuzamosan, míg az igény szerinti virtuális gépekből kialakított fürtök korlátlanul méretezhetők, eldobhatók és újra felállíthatók.
A siker árnyoldala
Nagy kérdés azonban, hogy a hirtelen reflektorfénybe került Spark miként fejlődik majd a továbbiakban. Az iparág legnagyobb szereplőinek élénk érdeklődése részben betudható egy új, a hagyományos bigdata-megoldásokhoz képest százszoros teljesítménynövekedést adó technológia iránti szakmai lelkesedésnek, de azért a nyílt forráskódú stratégiát életre hívó üzleti érdekekről se feledkezzünk meg. A Spark újabb lehetőség a projekt vállalati támogatóinak, hogy fizetős komponenseket és szolgáltatásokat építsenek egy nyílt forráskódú szoftver köré, ennek pedig hatása lehet a jövőre nézve.
A Databricks, mint említettük, a Tungsten-projekten keresztül szeretné továbbnövelni a Spark teljesítményét, ami nemcsak a felhasználóknak, hanem a Sparkot szolgáltatásként kínáló piaci szereplőknek is kedvezne, mutatott rá testvérlapunk. A sors iróniája, hogy eközben a Spark növekvő népszerűsége éppen a Databricks eddigi üzleti modelljét sodorhatja veszélybe. A cég ugyanis egyfajta interaktív jegyzetfüzetet kínál a keretrendszerhez, amelynél azonban vannak jobbak a piacon, és azok a felhőben - a nagy szolgáltatóknak hála - immár használhatók a Sparkhoz.