Amikor utoljára megkérdeztük: „Mi a fene van???”, az __ Apache Kafka __® protokollal kompatibilis adatfolyam-platformot néztük.
A Flink-et 2014 decemberében fogadták el Apache projektként, így már egy ideje létezik. Az adatfolyam-feldolgozás növekedése az elmúlt néhány évben felgyorsult érdeklődéshez és felhasználáshoz vezetett. A Flink egy meglehetősen nagy kihívást jelentő rendszer, hogy megálljon és belsőleg is használható legyen, és elkötelezett mérnöki tehetséget igényel. Még a
Itt fogok kölcsönkérni az Apache Flink weboldaláról. Az Apache Flink egy keretrendszer és elosztott feldolgozó motor, amely állapotalapú számításokat végez korlátlan és korlátos adatfolyamokon. A Flink-et úgy tervezték, hogy minden elterjedt fürtkörnyezetben fusson, és a memória sebességével és bármilyen léptékben végezzen számításokat. Nem szeretném tovább reprodukálni a webhelyükön találhatókat, ezért ha nem vagy biztos a Flink-ben, nézd meg.
A DeltaStream a legalapvetőbb módon biztosítja a Flink erejét anélkül, hogy Flinkkel kellene foglalkoznia. Egyáltalán. A tesztemhez az õket használtam
Amikor regisztrál, 14 napos ingyenes próbaverziót kap. Egy „trial_store” nevű Kafka-fürt minta készült, amelyet saját adatai helyett használhatunk a kipróbáláshoz. A demó számos témát tartalmaz, amelyekkel játszani lehet. A MŰVELETEK alatti ikonok segítségével törölhet egy témát, vagy megtekintheti a témával kapcsolatos részleteket és tartalmat.
Íme referenciaként az oldalmegtekintések témakör részletei, amelyeket később felhasználunk.
Oké, van egy Kafka-klaszterünk, és vannak benne témák. Most pedig csináljunk valami érdekeset. Ahogy a bevezetőben említettük, a legérdekesebb dolog, amit tehetek, az az adatok gazdagítása és/vagy szűrése repülés közben, mielőtt leszállna a végső rendeltetési helyére, például egy adatbázisba/raktárba/tóba. Ebből a célból a Munkaterületre lépünk.
Ezt a részt kellett egy kicsit megszokni. Az adatbázis és a séma a DeltaStreamben csak szervezeti mappák. Létrehozhat 'n' számú adatbázist, egy adatbázison belül pedig 'n' számú sémát. A sémák a DeltaStream objektumok definíciós elrendezését fogják tartalmazni, amelyek STREAM, CHANGELOG, MATERIALIZED VIEW és TABLE néven ismertek. A táblázat egy adatbázistáblához kapcsolódik, például a PostgreSQL-ben, a materializált nézet pedig egy módja annak, hogy megőrizzük az adatokat egy eredményhalmazban anélkül, hogy azokat konkrétan valahova elhelyeznénk. Nem fogok semmit kezdeni a blogon szereplők egyikével sem; A Streamre és a Changelogra fogok koncentrálni.
A következő képernyőképen létrehozom az oldalmegtekintések adatfolyamát a Kafka-fürtben. Úgy gondolom, hogy táblázatos definíciót készítek a témáról. Megadtuk a mezők nevét, és megmondtuk, hogy milyen témát használjanak, és mi az adatformátum. Nem kell teljesen indokolnunk a trial_store fürtöt, mivel az alapértelmezettként van beállítva a tetején lévő kombinált mezőben. A parancs végrehajtása után megjelenik a TestDB.public alatt. Ezután lekérdezhetem valamivel, mint például a SELECT * FROM PAGEVIEWS paranccsal, és elkezdem látni az adatokat az eredmény ablakban alul.
Ezután deklarálok egy változásnaplót, amelyet a felhasználó témaköre támogat, és UserID szerint rendezett. A változásnapló hasonlít egy adatfolyamhoz, de lehetővé teszi a téma eseményeinek UPSERT eseményként történő értelmezését. Az események elsődleges kulcsot igényelnek; A DeltaStream minden eseményt az adott elsődleges kulcs beszúrásaként vagy frissítéseként értelmez. Ebben az esetben a változásnapló felhasználónkénti konkrét részleteket, például nemet és érdeklődési kört tükröz.
Itt kezdünk el szórakozni. Létrehozok egy új adatfolyamot, amely gazdagítja az oldalmegtekintések adatfolyamát a users_log változásnaplóból származó adatokkal, a felhasználói azonosítót használva kulcsértékként a csatlakozáshoz. Ez most egy egyedi témát ad a fürtben két különböző témakörből származó adatokkal. Innentől kezdve szűrhetem valami, például a regionid segítségével, és a lekérdezés eredményeit egy végső célhelyre írhatom, például adatbázisba, raktárba vagy tóba. Ez lehetővé tette az adatok gazdagítását és szűrését repülés közben a leszállás előtt, így javítva a várakozási időt, valamint csökkentve a számítási és tárolási költségeket.
Szóval, mi a fene az a DeltaStream? Ez egy nagyon egyszerű módja az Apache Flink használatának anélkül, hogy bármit is tudna róla, vagy közvetlenül bármit is csinálna vele. A példámból láthatta, milyen egyszerű volt csatlakozni az Apache Kafkához, majd beolvasni, összekapcsolni és szűrni az adatokat. További jelenleg támogatott kapcsolatok a Kinesis, a PostgreSQL, a Snowflake és a Databricks, és úgy tudom, hogy hamarosan elérhető lesz a ClickHouse és az Iceberg.
Végső soron a DeltaStream az Apache Flink erejét biztosítja anélkül, hogy az Apache Flink-kel kellene foglalkoznia, és ezt Java helyett SQL használatával is megteheti. Ha adatfolyammal foglalkozik, vagy szeretné megvalósítani azt, ez minden bizonnyal nagyon okos és kényelmes megoldás.
Tekintse meg a többi Mi a fene… cikkemet az alábbi linkeken:
**