Když jsme se naposledy zeptali: „Co to sakra je???“, dívali jsme se na platformu pro streamování dat kompatibilní s protokolem __ Apache Kafka __®
Flink byl původně přijat jako projekt Apache v prosinci 2014, takže už nějakou dobu existuje. Růst zpracování streamů vedl v posledních několika letech ke zrychlenému zájmu a používání. Flink je poněkud náročný systém na postavení a vnitřní použití, který vyžaduje specializované inženýrské schopnosti. Dokonce i
Půjčím si z webové stránky Apache Flink zde. Apache Flink je framework a distribuovaný procesor pro stavové výpočty přes neomezené a ohraničené datové toky. Flink byl navržen tak, aby běžel ve všech běžných clusterových prostředích a prováděl výpočty rychlostí v paměti a v jakémkoli měřítku. Nechci replikovat více z toho, co je na jejich webu, takže pokud si nejste jisti Flinkem, podívejte se na něj.
Ve své nejzákladnější podobě vám DeltaStream poskytuje sílu Flinku, aniž byste se museli zabývat Flinkem. Vůbec. Pro svůj test jsem použil jejich
Když se zaregistrujete, získáte bezplatnou 14denní zkušební verzi. Vytvořil se ukázkový cluster Kafka s názvem „trial_store“, který můžete k vyzkoušení použít místo svých vlastních dat. Demo obsahuje řadu témat k hraní. Ikony v části AKCE vám umožňují odstranit téma nebo zobrazit podrobnosti a obsah o tématu a v tématu.
Zde jsou pro referenci podrobnosti o tématu zobrazení stránek , které použijeme později.
Dobře, máme spuštěný klastr Kafka a témata v něm. Teď pojďme udělat něco zajímavého. Jak bylo zmíněno v úvodu, nejzajímavější věc, kterou mohu udělat, je obohacovat a/nebo filtrovat data za letu, než přistanou v konečném cíli, jako je databáze/sklad/jezero. Pro tyto účely přejdeme do pracovního prostoru.
Na tuto část bylo potřeba si trochu zvyknout. Databáze a schéma v DeltaStream jsou pouze organizační složky. Můžete vytvořit 'n' počet databází a v rámci databáze můžete mít 'n' počet schémat. Schémata budou obsahovat definiční rozvržení vašich objektů DeltaStream známých jako STREAM, CHANGELOG, MATERIALIZED VIEW a TABLE. Tabulka souvisí s databázovou tabulkou v něčem jako PostgreSQL a materializovaný pohled je způsob, jak uchovat data v sadě výsledků, aniž byste je někam konkrétně ukládali. S žádným z těchto v tomto blogu nic neudělám; Zaměřím se na Stream a Changelog.
Na následujícím snímku obrazovky vytvářím Stream tématu zobrazení stránek v clusteru Kafka. Považuji to za vytvoření tabulky definice tématu. Přiřadili jsme názvy polí a řekli jim, jaké téma použít a jaký je formát dat. Cluster trial_store nemusíme plně zdůvodňovat, protože je nastaven jako výchozí v rozbalovacím seznamu nahoře. Po provedení příkazu se zobrazí pod TestDB.public. Poté jej mohu dotazovat pomocí něčeho jako SELECT * FROM PAGEVIEWS a začnu vidět data v podokně výsledků ve spodní části.
Dále deklaruji changelog podporovaný tématem uživatele a uspořádaný podle UserID. Protokol změn je podobný streamu, ale umožňuje interpretovat události v tématu jako události UPSERT. Události vyžadují primární klíč; DeltaStream interpretuje každou událost jako vložení nebo aktualizaci pro daný primární klíč. V tomto případě seznam změn odráží konkrétní podrobnosti podle uživatele, jako je pohlaví a zájmy.
Tady se začínáme bavit. Vytvořím nový stream, který obohatí stream zobrazení stránek o data ze changelogu users_log pomocí userid jako klíčové hodnoty, ke které se připojím. To mi nyní poskytuje jedinečné téma v clusteru s daty ze dvou různých témat. Odtud jej mohu filtrovat pomocí něčeho jako regionid a zapsat výsledky tohoto dotazu do konečného cíle, jako je databáze, sklad nebo jezero. To mi umožnilo obohatit a filtrovat data za letu před jejich přistáním, čímž se zlepšila latence a snížily se náklady na výpočet a úložiště.
Takže, co to sakra je DeltaStream? Je to opravdu jednoduchý způsob, jak používat Apache Flink, aniž byste o tom něco věděli nebo s tím přímo něco dělali. Z mého příkladu jste viděli, jak jednoduché bylo připojit se k Apache Kafka a poté číst, připojit se a filtrovat data. Další aktuálně podporovaná připojení jsou Kinesis, PostgreSQL, Snowflake a Databricks a bylo mi řečeno, že ClickHouse a Iceberg budou brzy k dispozici.
V konečném důsledku vám DeltaStream dává sílu Apache Flink, aniž byste se museli zabývat Apache Flink, a můžete to udělat pomocí SQL místo Javy. Pokud se zabýváte streamováním dat nebo je chcete implementovat, je to rozhodně velmi chytré a pohodlné řešení.
Podívejte se na mé další články What the Heck is… na níže uvedených odkazech:
**