本文為您介紹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的時候,指定啟動位點,具體操作如下:停止待升級Job(清除State)。
開發介面單擊右下角的Flink版本下拉式箭頭,修改Job的Blink版本為
Blink-2.2.7
,上線Job。啟動修改後的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)