本篇文章給大家分享的是有關如何基于 Pulsar + Flink 構建下一代實時數據倉庫,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
成都創(chuàng)新互聯是一家專業(yè)提供青州企業(yè)網站建設,專注與成都做網站、成都網站建設、H5響應式網站、小程序制作等業(yè)務。10年已為青州眾多企業(yè)、政府機構等服務。創(chuàng)新互聯專業(yè)網站制作公司優(yōu)惠進行中。
如需構建實時數倉,對數據存儲層而言,還是存在一定難度這體現在云原生架構的兼容性和數據存儲組織的復雜度。
1、Pulsar 是一個云原生的架構。Pulsar 內部分成兩層,上層是無狀態(tài) Broker,下層是持久化的存儲層 Bookie 集群,而且 Pulsar 存儲是分片的,這種構架可以避免擴容時受限制。2、Pulsar 的分層存儲(tiered storage)無需用戶顯式遷移數據,減少存儲成本并保持近似無限的存儲。3、Pulsar 提供內置 Schema,可以保持服務器端數據的一致性,也能直接接受和發(fā)送類型數據。實時數倉的架構
在元數據服務層面,翻譯層將 Pulsar 的元數據以數據庫語義表達,同時提供對 Pulsar 元數據的查詢和修改;而在基本映射層面,實現 Tenant/namespace → Database、Topic → Table、Topic Schema → Table Schema 的映射狀態(tài)。加上靈活的數據讀取模式,Segment Read、Stream Read 和 Sub-Stream Read,實現最終的數倉構建。StreamNative 已經開源了基于 Flink 1.9.0 和 Pulsar 2.4.0 的 Pular Flink Connector,實現了 exactly-once 語義的 Source 和 at-least-once 語義的 Sink。同時,基于 Pulsar 的內置 Schema 支持,提供了 Topic 內消息的自動序列化、反序列化。Pulsar Flink Connector 從本質上也是在利用 Pulsar Client API 操作 Pulsar,一些 connector 實現的相關思考可能同時對大家使用 Pulsar 有所幫助。? 持久化、可重放的數據源
流處理過程中出現一些故障是無法避免的,Flink 借助 checkpoint 機制將 Task 從 故障中恢復。Pulsar broker 默認會刪除所有被確認的消息,但在流處理的執(zhí)行期,我們無法得知作業(yè)何時會出錯,因此不能在讀到消息后就直接確認。通過維護一個作業(yè)級的訂閱,Flink Pulsar Connector 在收到 Flink checkpoint 的完成通知后確認消息,同時避免消息被過早刪除。? 結構化數據存取
將 Pulsar topic 看作是一張有結構的表,在任務調度期獲取表 Schema 定義。Pulsar Flink Connector 支持 avro/json/protobuf 的消息轉換,同時將消息元數據轉化為表的內部列。? Topic 和 Partition 發(fā)現
流處理作業(yè)是長時間運行的 ,在作業(yè)執(zhí)行期間,topic 可能被添加或刪除。因此,我們利用一個額外的監(jiān)控線程階段性檢查 topic 的增加或刪除,并為新增 topic 啟動新的消費線程。以上就是如何基于 Pulsar + Flink 構建下一代實時數據倉庫,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯行業(yè)資訊頻道。
本文題目:如何基于Pulsar+Flink構建下一代實時數據倉庫
文章鏈接:http://www.rwnh.cn/article14/jjspge.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站制作、搜索引擎優(yōu)化、網頁設計公司、網站營銷、自適應網站、微信公眾號
廣告
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創(chuàng)新互聯