Ezeket a nyílt forráskódú eszközöket használja az adattároláshoz

Manapság mindenki a nyílt forráskódú szoftverekről beszél. Ez azonban még mindig nem jellemző az Adattárolás (DWH) mezőben. Miért ez?

Ehhez a bejegyzéshez néhány nyílt forráskódú technológiát választottam, és együtt használtam a Data Warehouse rendszer teljes adatarchitektúrájának felépítésére.

Elmentem az Apache Druid-tal az adattároláshoz, az Apache Superset-mel a lekérdezéshez, és az Apache Airflow-val, mint feladat-hangszerelő.

Druid - az adattár

A Druid egy nyílt forráskódú, oszloporientált, elosztott adattár Java-ban írva. Úgy tervezték, hogy gyorsan bekapcsoljon hatalmas mennyiségű eseményadatot, és alacsony késleltetésű lekérdezéseket adjon az adatok tetejére.

Miért használja a Druidot?

A Druidnak számos kulcsfontosságú jellemzője van, ideértve a másodlagos OLAP lekérdezéseket, a valós idejű streaming befogadását, a skálázhatóságot és a költséghatékonyságot.

A modern OLAP technológiák összehasonlítását szem előtt tartva a Druid-ot választottam a ClickHouse, a Pinot és az Apache Kylin helyett. Nemrégiben a Microsoft bejelentette, hogy hozzáadja Druidot az Azure HDInsight 4.0-hoz.

Miért nem Druid?

Carter Shanklin részletes bejegyzést írt Druid korlátairól a Horthonwork.com oldalon. A fő kérdés az SQL-csatlakozások támogatásával és a fejlett SQL-képességekkel kapcsolatos.

Druid építészete

A Druid a fürt architektúrája miatt skálázható. Három különböző csomóponttípus létezik - a Közép-kezelő-csomópont, a Történelmi csomópont és a Bróker.

A nagyszerű dolog az, hogy annyi csomópontot adhat hozzá, amennyit csak akar, az Ön számára legmegfelelőbb területen. Ha sok lekérdezése van, futtathat további brókereket. Vagy ha sok adatot kötegelten kell bevenni, hozzáadhat középvezetőket és így tovább.

Az alábbiakban egy egyszerű architektúra látható. A Druid tervezéséről itt olvashat bővebben.

Apache Superset - a felhasználói felület

A Druid elleni lekérdezés legegyszerűbb módja az Apache Superset nevű könnyű, nyílt forráskódú eszköz.

Könnyen használható, és minden elterjedt diagramtípussal rendelkezik, például Bubble Chart, Word Count, Heatmaps, Boxplot és még sok más.

A Druid biztosít egy Rest-API-t, és a legújabb verzióban egy SQL Query API-t is. Ez megkönnyíti bármely eszköz használatát, legyen szó szabványos SQL-ről, bármilyen meglévő BI-eszközről vagy egyedi alkalmazásról.

Apache Airflow - a hangszerelő

Amint azt az Orchestrators - A munkafolyamatok ütemezése és figyelése című cikkben említettük, ez az egyik legkritikusabb döntés.

Korábban széles körben használták az olyan ETL eszközöket, mint a Microsoft SQL Server Integration Services (SSIS) és mások. Itt történtek az adatok átalakítása, tisztítása és normalizálása.

Modernebb architektúrákban ezek az eszközök már nem elegendőek.

Sőt, a kód és az adatátalakítási logika sokkal értékesebb a vállalat más, adattudatos emberek számára.

Nagyon ajánlom, hogy olvassa el egy blogbejegyzést Maxime Beauchemin-től a Funkcionális adatmérnöki munkáról - a kötegelt adatfeldolgozás modern paradigmájáról. Ez sokkal mélyebbre hatol abban, hogy milyen korszerű adatoknak kell lenniük.

Fontolja meg az Adatmérnök bukása című cikket is, ahol Max elmagyarázza a feltörő „adatsilót” és még sok minden mást.

Miért érdemes használni az Airflow-t?

Az Apache Airflow nagyon népszerű eszköz ehhez a feladat-hangszereléshez. A légáramlást Pythonban írják. A feladatokat Directed Acyclic Graphs (DAG) néven írják. Ezeket Pythonban is megírják.

Ahelyett, hogy a kritikus átalakulási logikát valahol egy eszközbe foglalná, azt az Orchestrator belsejébe helyezi, ahova tartozik.

További előny a sima Python használata. Nincs szükség más függőségek vagy követelmények beágyazására, mint például FTP-ből történő beolvasás, adatok A-ból B-be másolása, kötegelt fájl írása. Ezt és minden mást ugyanott csinálsz.

A légáramlás jellemzői

Ezenkívül egy teljes funkcionalitású áttekintést kap az összes aktuális feladatról egy helyen.

Az Airflow relevánsabb jellemzői, hogy úgy írsz munkafolyamatokat, mintha programokat írnál. A külső munkák, mint például a Databricks, a Spark stb., Nem jelentenek problémát.

A munka tesztelése magában az Airflow-n megy keresztül. Ebbe beletartozik a paraméterek átadása más munkafolyamatokhoz, vagy annak ellenőrzése, hogy mi fut az Airflow-n, és a tényleges kód megtekintése. A naplófájlok és egyéb metaadatok a webes grafikus felhasználói felületen keresztül érhetők el.

Az (újbóli) futtatás csak a munkafolyamat egyes részein, és a függő feladatok kulcsfontosságú jellemzők, amelyek a dobozból kerülnek ki, amikor a munkafolyamatokat Airflow segítségével hozza létre. A munkákat / feladatokat egy kontextusban futtatják, az ütemező átadja a szükséges részleteket, és a munkát a fürtön a feladat szintjén osztják szét, nem a DAG szinten.

További funkciókért keresse fel a teljes listát.

ETL Apache Airflow-val

Ha az Apache Airflow-val szeretne új ETL-eszközként kezdeni, kérjük, kezdje ezzel az ETL bevált módszerekkel, amikor megosztja veled az Airflow-t. Egyszerű ETL-példákkal rendelkezik, egyszerű SQL-sel, HIVE-val, Data Vault-tal, Data Vault 2-vel és Data Vault Big Data-folyamatokkal. Kiváló áttekintést nyújt a lehetséges lehetőségekről, valamint arról, hogyan viszonyulna ehhez.

Ugyanakkor van egy Docker konténer, amelyet használhat, vagyis nem is kell infrastruktúrát beállítania. Innen húzhatja ki a tartályt.

A GitHub-repo esetében kövesse az etl-with-airflow linket.

Következtetés

Ha nyílt forráskódú adatarchitektúrára keres, akkor nem hagyhatja figyelmen kívül a Druidot a gyors OLAP-válaszokért, az Apache Airflow-t mint hangszerelőt, amely egyenesen tartja az adatvonalat és az ütemezéseket, valamint egy könnyen használható műszerfal eszközt, például az Apache Superset.

Eddigi tapasztalataim szerint a Druid véresen gyors és hagyományos módon tökéletesen illeszkedik az OLAP kocka cseréjéhez, de még mindig lazább indításra van szüksége fürtök telepítéséhez, adatok beviteléhez, naplók megtekintéséhez stb. Ha erre van szüksége, nézze meg Impy, amelyet a Druid alapítói hoztak létre. Ez létrehozza a Druid környéki összes szolgáltatást, amire szüksége van. Sajnos azonban nem nyílt forráskódú.

Az Apache Airflow és a hangszerelői funkciók olyan dolgok, amelyek még nem nagyon fordultak elő a hagyományos üzleti intelligencia környezetekben. Úgy gondolom, hogy ez a változás nagyon magától értetődik, amikor elkezdi használni a nyílt forráskódú és több új technológiát.

Az Apache Superset pedig egyszerű és gyors módja annak, hogy elindulhasson és megjelenítse a Druid adatait. Ott jobb eszközökért, mint a Tableau stb., De nem ingyen. Ezért a Superset jól illeszkedik az ökoszisztémába, ha már használja a fenti nyílt forráskódú technológiákat. De nagyvállalatként érdemes pénzt költenie ebbe a kategóriába, mert ezt láthatják a felhasználók a nap végén.

Kapcsolódó linkek:

  • Az Apache Airflow kulcsfogalmainak megértése
  • Hogyan engedélyezi Druid az elemzéseket az Airbnb-n
  • A Google elindítja a Cloud Composert, egy új munkafolyamat-automatizáló eszközt a fejlesztők számára
  • Az Apache Airflow-ra épített, teljesen felügyelt munkafolyamat-hangszerelési szolgáltatás
  • Apache Airflow és Databricks integrálása: ETL csővezetékek kiépítése Apache Sparkkal
  • ETL Apache Airflow-val
  • Mi az adatmérnöki munka és az adattárház jövője
  • Implicit - felügyelt druid platform (zárt forráskódú)
  • Rendkívül gyors OLAP Analytics az Apache Hive és a Druid szolgáltatásokkal

Eredetileg a www.sspaeti.com címen jelent meg 2018. november 29-én.