<noframes id="vddlx"><form id="vddlx"><nobr id="vddlx"></nobr></form>

    <noframes id="vddlx">
    <listing id="vddlx"><nobr id="vddlx"><meter id="vddlx"></meter></nobr></listing>
    <form id="vddlx"><th id="vddlx"><progress id="vddlx"></progress></th></form><em id="vddlx"></em>

      
      

      <listing id="vddlx"><listing id="vddlx"><menuitem id="vddlx"></menuitem></listing></listing>

        <span id="vddlx"></span>

          Pulsar Flink Connector 2.5.0 正式發布

          技術標簽: java  python  mysql  人工智能  數據庫

          經過不斷地努力,社區成功發布 Pulsar Flink Connector 2.5.0 版本。Pulsar Flink Connector 集成了 Apache Pulsar 和 Apache Flink(數據處理引擎),允許 Apache Flink 向 Apache Pulsar 讀寫數據。
          https://github.com/streamnative/pulsar-flink/tree/release-2.5.0

          下面將詳細介紹 Pulsar Flink Connector 2.5.0 引入的新特性,希望能夠幫助大家更好地理解 Pulsar Flink Connector 。

          背景

          Flink 是一款快速發展的分布式計算引擎,在 1.11 版本中,支持以下新特性:

          • 核心引擎引入了非對齊的 Checkpoint 機制。這一機制明顯改善了 Flink 容錯機制,它可以提高嚴重反壓作業的 Checkpoint 速度。

          • 提供一套新的 Source 接口。通過統一流和批作業 Source 的運行機制,支持常用的內部實現,如事件時間處理、watermark 生成和空閑并發檢測。這套新的 Source 接口可以極大地降低開發新 Source 的復雜度。

          • Flink SQL 支持變動數據捕獲(Change Data Capture,CDC)。它使 Flink 可以方便地通過像 Debezium 這類工具來翻譯和消費數據庫的變動日志。Table API 和 SQL 也有助于文件系統連接器支持更多用戶場景和格式,從而支持將流式數據從 Pulsar 寫入 Hive 等場景。

          • PyFlink 優化多個部分的性能,包括支持向量化的用戶自定義函數(Python UDF)。這些改動使 Flink Python 接口可以與常用的 Python 庫(如 Pandas 和 NumPy)進行相互操作,從而使 Flink 更適合數據處理與機器學習的場景。

          在新版本發布后,為了讓小伙伴們盡快使用支持 Flink 1.11 的 Pulsar Flink Connector,我們對新版 Pulsar Flink Connector 進行了升級。

          我們發現這次升級難度很大,問題在于 Flink 新版本對于公開 API 的支持有增減(基礎的 FieldsDataType 類型、StreamTableEnvironment 包變更和 execute 方法的變化)、Table 檢查 Schema 操作變更為啟動時檢查、連接器運行時轉換為 Catalog,直接使新舊版本不兼容。

          經過多方考量,我們最終決定新增 pulsar-flink-1.11 模塊來支持 Flink 1.11。在這里非常感謝 BIGO 團隊的陳航、吳展鵬,為社區貢獻了 Flink 1.11 的兼容升級技術支持。

          Pulsar Schema 包含消息的類型結構信息,它可以很好地和 Flink Table 進行集成。在 Flink 1.9 時,SQL 類型可以綁定物理類型,用于 Pulsar 的 SchemaType。

          但是在 Flink 1.11,Table 變更后,SQL 類型只能使用默認的物理類型,Pulsar 的 SchemaType 不支持 Flink 日期、事件的默認物理類型。我們為 Pulsar Schema 添加了新的原生類型,使 Pulsar Schema 可以和 Flink SQL 類型系統集成起來。

          Pulsar Flink Connector

          新特性詳解

          以下是 Pulsar Flink Connector 2.5.0 中添加的一些主要的功能。

          pulsar-flink

          ???? 支持 Flink 1.11 和 flink-sql DDL

          Flink 1.11 版本升級的幅度較大,一些公共 API 發生了增刪,導致 Flink 1.9、Flink 1.11 的 Pulsar 連接器無法做到兼容。本次變更使項目分為兩個模塊,來支持不同版本的 Flink。BIGO 的陳航、吳展鵬童鞋為此特性付出了很大的努力。

          • 支持 Flink 1.11 版本

          • 新增 Flink-sql DDL 支持

          • 更新 topic 分區策略,使消費更均勻

          • Flink 1.11 兼容 Pulsar schema

          有關實現的更多信息,請參見 PR-115。

          https://github.com/streamnative/pulsar-flink/pull/115

          ???? 添加 PulsarDeserializationSchema 接口

          抽象 PulsarDeserializationSchema 接口,使用戶可以自定義解碼,獲得更多源信息。

          有關實現的更多信息,請參見 PR-95。
          https://github.com/streamnative/pulsar-flink/pull/95

          貢獻者:@wuzhanpeng

          ???? Flink Sink 增加 JSON 支持

          Flink Sink 實現中,Pulsar Schema 類型支持 JSON 。

          有關實現的更多信息,請參見 PR-116。
          https://github.com/streamnative/pulsar-flink/pull/116

          貢獻者:@jianyun8023

          ???? PulsarCatalog 變更為基于 GenericInMemoryCatalog 實現

          PulsarCatalog 的實現變更為繼承 GenericInMemoryCatalog。

          有關實現的更多信息,請參見 PR-91。
          https://github.com/streamnative/pulsar-flink/pull/91

          貢獻者:@sijie

          Pulsar Schema

          ???? 增加 Java 8 時間、日期類型到 Pulsar Schema 的原生類型

          為 Pulsar Schema 增加 Java 8 常用的 Instant、LocalDate、LocalTime、LocalDateTime 等類型支持。


          有關實現的更多信息,請參見PR-7874。
          https://github.com/apache/pulsar/pull/7874

          貢獻者:@jianyun8023

          總結

          Pulsar Flink Connector 2.5.0 的發布,對于這個快速發展的項目來說,是一個大的里程碑。在此特別感謝為本次版本發布做出貢獻的陳航、吳展鵬、郭斯杰、趙建云。

          如果你有好的想法或想成為項目貢獻者,歡迎提交 ISSUE,也可以參考我們的貢獻指南。
          https://github.com/streamnative/pulsar-flink/issues

          相關鏈接

          • Flink 1.11 新特性(Flink-China)

          • Pulsar Flink Connector
            https://github.com/streamnative/pulsar-flink/tree/release-2.5.0

          • streamnative/pulsar-flink
            https://github.com/streamnative/pulsar-flink/issues

          ???? 相關閱讀

          ?? 如何使用 Apache Flink 查詢 Pulsar 流

          ?? Flink 和 Pulsar 的批流融合

          版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
          本文鏈接:https://blog.csdn.net/zhaijia03/article/details/109766596

          智能推薦

          postgresql和mysql數據庫中使用sum聚合函數查詢,結果出現不確定的小數

          今天在項目開發時,遇到了像下圖這樣的問題:         查詢結果會隨機出現長串小數,頁面顯示不正常,但數據庫查詢結果是正常的。         一開始,以為是前端展示的問題,但通過調試后發現,和前端沒什么關系,前端只是按照后端傳來的值進行展示。后來發現,是數據庫中的數據字段類型使用錯誤導致的。 解決辦法: &nbs...

          settimeout、setinterval區別和相互模擬

          前幾天翻書,看到“避免雙重求值”一節時有提到settimeout()、setinterval() 建議傳入函數而不是字符串以作為第一個參數,所以這里總結一下settimeout()和setinterval()的區別,以及它們之間的相互模擬。   setTimeout(): 方法用于在指定的毫秒數后調用函數或計算表達式(函數更好,下面會解釋為什么函數更好!)。   語法:se...

          Maven基礎操作

          文章目錄 項目結構 一鍵構建 常用命令 項目結構 一鍵構建 構建:項目從編譯–>測試–>運行–>打包–>安裝,整個過程都交給maven 進行管理,這個過程稱為構建。 創建一個maven工程之后,在cmd中進入這個工程的本地文件夾下,然后輸入一行代碼:mvn tomcat:run,運行即可一鍵構建。 常用命令 mvn clean...

          厚涂要用ps軟件么?什么是厚涂技法

          很多同學會因為某個動漫,某個人物而去學習動漫設計,動漫厚涂,但又不太敢說出口,老師問起的時候,只是支支吾吾說純粹的對厚涂感興趣,想要加入這一行業,其實沒有必要,因為很多老師也是因為動漫才入的繪畫設計,動漫厚涂的呀!都說興趣是最好的老師,學習厚涂自然也需要濃厚的興趣才能學得更好。那么梵高學院就這些問題系統地進行回答,希望能夠幫到有需要的同學。 厚涂是什么?厚涂最初其實是一種油畫的技法,利用涂料把顏色...

          一周極客熱文:8張圖理解Java

          圖:equals()方法、hashCode()方法的區別 HashCode被設計用來提高性能。equals()方法與hashCode()方法的區別在于: 如果兩個對象相等(equal),那么他們一定有相同的哈希值。 如果兩個對象的哈希值相同,但他們未必相等(equal)。 其余七張圖敬請點擊《8張圖理解Java》。 一、 程序員必須進行的10項投資 你的健康 提高你的數學能力 提高你的英語水平 一...

          猜你喜歡

          java+mail+authen_用Java獲取MailChimp響應

          我想使用MailChimp api添加訂閱服務器。首先,我想從其他的部分中得到一個消息,我試圖從MailChimp api中得到一個響應。 以下是目前為止的代碼: public void doPostAction() throws IOException{ // BASIC Authentication String name = "user"; String password...

          [Bootstrap-插件使用]Jcrop+fileinput組合實現頭像上傳功能

          很久沒有更新博客了,再不寫點東西都爛了。 這次更新一個小內容,是兩個插件的組合使用,實現頭像上傳功能。 業務需求: 頭像上傳功能,要對上傳的文件進行剪切,且保證頭像到服務器時必須是正方形的。 優化<input type="file">的顯示樣式,基礎的樣式實在太難看了。 上傳的頭像需要進行質量壓縮跟大小裁剪,以減緩瀏覽器的壓力。 成果預覽:   使用到的技...

          為微信小程序擴展自定義babel編譯功能

          摘要 一直以來,微信小程序都自帶babel編譯,幫我們解決微信小程序中的api和語法差異,其實吧,微信小程序的es6支持已經是比較完善的了,我們翻看官網的es6語法支持可以發現,小程序(下文小程序都指代微信小程序)本身除了proxy以及Array.values等方法之外,其他的es6的api大多數都已經原生支持了,但我們為什么還需要babel進行js的代碼編譯呢? 一個是官方文檔所說的平臺差異,i...

          java 自定義錯誤頁面跳轉頁面跳轉_springmvc之默認錯誤頁面跳轉

          在做一個項目的時候,為了界面美觀及用戶體驗,我們往往會設計自己的錯誤跳轉頁面,而不是直接展示給用戶一堆錯誤碼,為此我們需要配置自己的錯誤跳轉頁面。 1、項目結構 2、web.xml /p> "http://java.sun.com/dtd/web-app_2_3.dtd" > Archetype Created Web Application dispatcher ...

          JVM | OOP-Klass 二分模型

          小刀微信名換成了湊心, 頭像換成了上面為武漢加油的,不要不認識了,,,,, 本文知識點 OOP和klass的概念 OOP和Klass源碼 HSDB的使用 OOP和klass的概念 OOPS: 即普通對象指針,用來描述對象實例信息 Klass: Java類的C++對等體,用來描述Java類 總體上是多個OOP和一個Klass是對應的. 相當于一個類可以有多個實例 A a  = new A(...

          贊助商廣告

          相關文章

          熱門文章

          推薦文章

          相關標簽

          亚洲中文字幕A∨在线

          <noframes id="vddlx"><form id="vddlx"><nobr id="vddlx"></nobr></form>

            <noframes id="vddlx">
            <listing id="vddlx"><nobr id="vddlx"><meter id="vddlx"></meter></nobr></listing>
            <form id="vddlx"><th id="vddlx"><progress id="vddlx"></progress></th></form><em id="vddlx"></em>

              
              

              <listing id="vddlx"><listing id="vddlx"><menuitem id="vddlx"></menuitem></listing></listing>

                <span id="vddlx"></span>