本文為您介紹實時計算Blink產品的相關動態。
公有云實時計算Blink產品進入產品收斂期,請下載查看PDF版
公有云實時計算Blink產品進入產品收斂期,Flink產品詳情請參見產品形態。實時計算Blink文檔詳情請單擊阿里云實時計算Blink獨享模式(公共云已停止新購)下載后進行查看。
2022年11月15日起,Blink獨享集群將停止接收新建訂單和擴容訂單,即進入EOM2階段。
為了提供更全面的服務體系,聚焦滿足客戶需求,提供更清晰簡化的使用體驗,2022年11月15日起暫停實時計算Blink獨享模式新用戶購買和已經購買客戶的擴容訂單,續費訂單時長不超過4個月,保留阿里云的產品支持。Blink獨享集群的產品生命周期策略和EOS時間詳情請參見生命周期策略和產品形態。
實時計算產品已推出更全面的全托管Flink產品,在不增加您成本的基礎上,支持您使用UDF或JAR等多種開發方式,告別單一SQL的模式,為您提供更好更全面的實時能力。實時計算產品也提供完整的遷移工具協助您完成遷移,詳情請參見遷移方案。
非常感謝您對阿里云實時計算產品的支持。
2022年8月15日起,Blink共享集群將停止接收新建訂單和擴容訂單,即進入EOM2階段。
為了提供更全面的服務體系,聚焦滿足客戶需求,提供更清晰簡化的使用體驗,2022年8月15日起暫停實時計算Blink共享模式新用戶購買和已經購買客戶的擴容訂單,續費訂單時長不超過4個月,保留阿里云的產品支持。Blink共享集群的產品生命周期策略和EOS時間詳情請參見生命周期策略和產品形態。
實時計算產品已推出更全面的全托管Flink產品,在不增加您成本的基礎上,支持您使用UDF或JAR等多種開發方式,告別單一SQL的模式,為您提供更好更全面的實時能力。實時計算產品也提供完整的遷移工具協助您完成遷移,詳情請參見遷移方案。
非常感謝您對阿里云實時計算產品的支持。
2021年4月28日-獨享模式暫停新購
實時計算Flink版獨享模式已于2021年4月28日暫停新購,目前僅支持原有項目的擴縮容和續費操作。如果您有新購需求,推薦使用實時計算Flink全托管。
RocketMQ接入點變更導致實時計算作業適配升級公告
升級公告
因消息隊列RocketMQ接入點地域化變更(詳情請參見關于TCP內網接入點設置的公告),如果您已使用了Blink 3.7.10以下版本的RocketMQ Connector,則您需要將您的實時計算作業升級至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日以后,實時計算Flink版產品側不再對使用了舊的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日,對上海和深圳共享集群的存儲服務進行版本升級,旨在為您提供更加穩定的實時計算Flink版服務。正常情況下,此次升級不會對用戶的業務造成影響;特殊情況下,Blink3.2和Blink3.3版本的作業會Failover一次后恢復正常。
2019年12月24日-共享模式正式下線
實時計算Flink版共享模式已于2019年12月24日正式下線,將不再支持共享模式新項目的購買,僅支持原有項目的擴縮容和續費操作。如果您有新購需求,推薦使用實時計算Flink版獨享模式或Flink半托管模式。
2019年8月27日-新增資源配置頁簽
開發頁面右側,新增資源配置頁簽。原控制臺基本屬性頁簽下的資源配置跳轉鏈接已下線。
2019年8月21日-華東2(上海)共享集群擴容通知
2019年8月23日,華東2(上海)共享集群將新增11.53.0.0/16,11.50.0.0/16
網段。如果您使用的上下游存儲涉及到例如RDS、HBase等需要添加白名單的組件,請提前將11.53.0.0/16,11.50.0.0/16
網段添加至現有的白名單中,防止發生連接異常。
2019年5月30日-實時計算Flink版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年5月29日-北京、上海地區實時計算Flink版共享模式停止售賣
自2019年5月29日起,停止售賣北京和上海地區共享模式的實時計算Flink版。
2019年3月14日-共享模式默認版本升級為2.2.7
自2019年3月14日起,實時計算Flink版共享模式默認版本升級為2.2.7,此次升級僅影響新增作業,不影響原有運行作業。
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)