全部產品
Search
文件中心

Realtime Compute for Apache Flink:Realtime ComputeBlink產品公告(已停止新購)

更新時間:Jul 13, 2024

本文為您介紹Realtime ComputeBlink產品的相關動態。

公用雲端Realtime ComputeBlink產品進入產品收斂期,請下載查看PDF版

公用雲端Realtime ComputeBlink產品進入產品收斂期,Flink產品詳情請參見產品形態。Realtime ComputeBlink文檔詳情請單擊阿里雲Blink獨享模式(公用雲已停止新購)下載後進行查看。

2022年11月15日起,Blink獨享叢集將停止接收建立訂單和擴容訂單,即進入EOM2階段。

為了提供更全面的服務體系,聚焦滿足客戶需求,提供更清晰簡化的使用體驗,2022年11月15日起暫停Realtime ComputeBlink獨享模式新使用者購買和已經購買客戶的擴容訂單,續約訂單時間長度不超過4個月,保留阿里雲的產品支援。Blink獨享叢集的產品生命週期策略和EOS時間詳情請參見生命週期策略產品形態

Realtime Compute產品已推出更全面的全託管Flink產品,在不增加您成本的基礎上,支援您使用UDF或JAR等多種開發方式,告別單一SQL的模式,為您提供更好更全面的即時能力。

非常感謝您對阿里雲Realtime Compute產品的支援。

2022年8月15日起,Blink共用叢集將停止接收建立訂單和擴容訂單,即進入EOM2階段。

為了提供更全面的服務體系,聚焦滿足客戶需求,提供更清晰簡化的使用體驗,2022年8月15日起暫停Realtime ComputeBlink共用模式新使用者購買和已經購買客戶的擴容訂單,續約訂單時間長度不超過4個月,保留阿里雲的產品支援。Blink共用叢集的產品生命週期策略和EOS時間詳情請參見生命週期策略產品形態

Realtime Compute產品已推出更全面的全託管Flink產品,在不增加您成本的基礎上,支援您使用UDF或JAR等多種開發方式,告別單一SQL的模式,為您提供更好更全面的即時能力。

非常感謝您對阿里雲Realtime Compute產品的支援。

2021年4月28日-獨享模式暫停新購

Realtime ComputeFlink版獨享模式已於2021年4月28日暫停新購,目前僅支援原有專案的擴縮容和續約操作。如果您有新購需求,推薦使用Realtime ComputeFlink全託管。

RocketMQ存取點變更導致Realtime Compute作業適配升級公告

  • 升級公告

    因訊息佇列RocketMQ存取點地區化變更(詳情請參見關於TCP內網存取點設定的公告),如果您已使用了Blink 3.7.10以下版本的RocketMQ Connector,則您需要將您的Realtime Compute作業升級至Blink 3.7.10及以上版本,並將作業中EndPoint參數取值更改為新的RocketMQ存取點,EndPoint參數詳情請參見:

    • Blink RocketMQ源表文檔:詳情請參見Blink PDF文檔中的5.6.2.6章節。

    • Blink RocketMQ結果表文檔:詳情請參見Blink PDF文檔中的5.6.3.7章節。

  • 注意事項

    • 舊的RocketMQ存取點在2021年11月後完全不可用,且使用舊的RocketMQ存取點的作業可能存在穩定性風險,因此請您儘快安排作業升級,務必在2021年11月之前完成升級工作。

    • RocketMQ產品承諾:2021年11月前不會下線舊的RocketMQ存取點,但舊的RocketMQ存取點無法保證作業穩定性。

    • 本次升級會導致作業的State無法相容,請結合業務情況合理安排升級時間,盡量減少對業務的影響。

    • 2021年11月1日以後,Realtime ComputeFlink版產品側不再對使用了舊的RocketMQ存取點的作業進行維護和支援。

2020年8月10日21:00-2020年8月11日02:00-升級公告

2020年8月10日21:00-2020年8月11日02:00,對杭州獨享模式管控平台進行升級,升級期間現有運行作業不受影響,但叢集建立和擴縮容功能不可用,請知悉。

2020年4月28日21:00-2020年4月29日02:00-升級公告

2020年4月28日21:00-2020年4月29日02:00,對上海獨享模式管控平台進行升級,升級期間現有運行作業不受影響,但叢集擴縮容功能不可用,請知悉。

2020年4月20日-2020年4月22日-升級公告

2020年4月20日-2020年4月22日,對上海和深圳共用叢集的儲存服務進行版本升級,旨在為您提供更加穩定的Realtime ComputeFlink版服務。正常情況下,此次升級不會對使用者的業務造成影響;特殊情況下,Blink3.2和Blink3.3版本的作業會Failover一次後恢複正常。

2019年8月27日-新增資源配置頁簽

開發頁面右側,新增資源配置頁簽。原控制台基本屬性頁簽下的資源配置跳轉連結已下線。

2019年5月30日-Realtime ComputeFlink版3.0.0以上版本新功能

  • 運行資訊

    新增Vertex相關資訊查詢功能,詳情請參見Blink PDF文檔中的6.5.2章節。

  • 資料曲線

    新增AutoScaling相關曲線,詳情請參見Blink PDF文檔中的6.5.3章節。

  • Timeline

    新增Timeline功能,詳情請參見Blink PDF文檔中的6.5.4章節。

  • 屬性參數

    新增AutoScale迭代的歷史詳情查詢功能,詳情請參見Blink PDF文檔中的6.5.10章節。

2019年1月24日-Blink-2.2.7版本發布

Blink-2.2.7 Blink-2.x系列中最新穩定版本,在Blink-1.x版本(最新穩定版本為Blink-1.6.4)進行了全面的升級,採用了自主研發的新一代儲存Niagara作為Statebackend的底層儲存,最佳化了SQL的效能,增加了一系列新功能:

  • 主要特性

    • SQL

      • 新增Window Emit機制,可以控制Window結果的輸出策略,例如:1小時視窗,每1分鐘輸出一次。

      • 雙流Join支援miniBatch,針對不同情境最佳化了Retraction處理和State儲存結構,提高了效能。

      • AGG支援Filter文法,可以只彙總滿足條件的行。

      • 對Local-global AGG進行最佳化。

      • 重構了SQL的Optimize階段,解決了SQL編譯時間過長的問題。

      • SortedMapView中KEY支援多種資料類型:BOOLEAN、BYTE、SHORT、INT、LONG、FLOAT、DOUBLE、BIGDECIMAL、BIGINT、BYTE[]和STRING。

      • 最佳化了MIN、MAX、FIRST和LAST函數Retraction情境的效能。

      • 新增多種純量涵式,例如時區相關的解析TO_TIMESTAMP_TZ、格式化DATE_FORMAT_TZ和轉換函式CONVERT_TZ。

      • 對SQL和Connector模組的錯誤資訊進行了歸類,並對每種類型設計了相應的ERROR_CODE。

    • Connector

      • 支援使用者自訂的TableFactory註冊源表和結果表的Connector。

      • 支援使用者通過UDTF方式直接解析資料來源類型。

      • 支援讀取和寫入Kafka。

      • 支援寫入到Elasticsearch。

    • Runtime

      • 通過Blink Session機制,統一了使用者提交Job、擷取執行結果等行為。

      • 開放了調度外掛程式機制,允許計算模型根據需求自訂調度邏輯。

      • 在有限流的情況下,通過避免不必要的全圖重啟,提高了JobManager和Task FailOver的處理效率。

    • StateBackend

      • 使用NiagaraStateBackend替換RocksDBStateBackend,具備更好的讀寫效能。

      • (Experimental) NiagaraStateBackend支援計算儲存分離,支援Failover過程中State秒級恢複。

  • Blink1.6.4不相容的文法

    功能項

    影響

    解決辦法

    TableFunction介面修改

    所有使用自訂TableFunction的使用者。

    更新代碼,實現新的getResultType介面。

    ScalarFunction介面修改

    所有使用自訂ScalarFunction的使用者。

    實現新的getResultType介面。

    AggregateFunction介面修改

    所有使用自訂AggregateFunction的使用者。

    實現新的getAccumulatorType和getResultType介面。例如,accumulator類型為Row(STRING, LONG),Agg result的類型為STRING,則需要實現如下代碼。

    public DataType getAccumulatorType\(\) { return
                  DataTypes.createRowType\(DataTypes.String, DataTypes.LONG\); } public DataType
                  getResultType\(\) { return DataTypes.String; }

    MapView建構函式修改

    MapView建構函式形參類型由之前的TypeInformation變更為DataType。所以在自訂UDAF中聲明了MapView的Job都會受影響。

    更新代碼,按DataType去構造MapView。例如MapView map = new MapView<>(Types.STRING, Types.INT);需要更新為MapView map = new MapView<>(DataTypes.STRING, DataTypes.INT);

    當參數是LONG或INT時,除法和AVG傳回型別改為DOUBLE

    以前的除法和AVG函數返回的是入參的欄位類型,現在是DOUBLE,會導致類型不符的錯誤。例如:除法和AVG的結果直接寫入結果表,可能會報結果表與Query欄位類型不符的錯誤。

    在除法和AVG的結果上強制加上CAST。

    在比較BigDecimal 和Decimal資料類型的資料時,會考慮精度

    用到Decimal的Job,可能會報BigDecimal類型不符的錯誤。

    用到Decimal類型的Job,全域替換成帶精度的聲明方式,Decimal(38, 18)

    NULL與字串的比較語義

    1.x版本NULL與字串比較返回True,在2.x版本後遵循了SQL文法語義改為返回False。

    所有NULL與字串比較的地方,例如:WHERE SPLIT_INDEX(shop_list, ':', 1) <> shop_id,如果SPLIT_INDEX(shop_list, ':', 1)返回了NULL,在1.x版本上WHERE條件會返回True,在2.x上會返回False,將資料過濾。

  • 如何升級到Blink-2.x

    使用Blink-1.x版本的Job升級到Blink-2.x,需要進行資料回溯升級,資料回溯是指使用者根據業務需要,在啟動Job的時候,指定啟動位點,具體操作如下:

    1. 停止待升級Job(清除State)。

    2. 開發介面單擊右下角的Flink版本下拉式箭頭,修改Job的Blink版本為Blink-2.2.7,上線Job。

    3. 啟動修改後的Job並指定啟動位點。

      如果步驟3執行不成功,需要人工介入查明原因後,進行如下操作:

      • 快速修複SQL,重複步驟1、2、3。

      • 如果無法修複SQL,回退到原有Blink版本。

      • 如果無法產生Json Plan,可以嘗試設定如下參數:

        • blink.job.option.jmMemMB=4096

        • blink.job.submit.timeoutInSeconds=600

    Blink-2.0.1的UDX第三方外掛程式安裝包詳情,請參見Blink PDF文檔中的5.11.1章節。類似如下的異常,是因為UDX包的版本太低或者包衝突導致的。

    code:[30016], brief info:[get app plan failed], context info:[detail:[java.lang.NoClassDefFoundError: org/apache/flink/table/functions/aggfunctions/DoubleSumWithRetractAggFunction
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:788)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)