日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用Flink導入

更新時間: 2024-12-17 17:11:10

實時計算Flink版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于Apache Flink構建的企業級高性能的實時大數據處理系統。Hologres與Flink深度連通,支持實時寫入Flink的數據,可以實時查詢寫入的數據,幫助您快速搭建實時數倉。

形態說明

  • 阿里云實時計算Flink版不進行業務存儲,所有的數據均來自于外部存儲系統持有的數據。阿里云實時計算Flink版支持的數據存儲類型如下:

    • 源表

    源表指輸入至Flink的數據輸入源。Flink的源表指定為Hologres時,使用的是批量導入而非流式導入,Hologres會將全表的數據統一掃描一次后再輸出至下游,掃描完成后本次作業結束。

    • 維表

    維表一般適用于點查詢場景(Lookup by Key),因此在Hologres中,維表建議使用行存儲,并且JOIN的字段必須是完整的主鍵字段。

    • 結果表

    結果表用于接收并存放經過Flink計算的結果數據,為下游數據繼續消費提供各類讀寫接口。

  • 阿里云實時計算Flink版還支持很多企業級高級能力,通過與Hologres深度集成,提供以下創新能力:

    • Hologres Binlog消費

    使用消息隊列的模式消費Hologres表的Change Log。

    • Flink Catalog

    Flink支持導入Hologres元數據為Catalog,在Flink全托管控制臺直接讀取Hologres元數據,不用再手動注冊Hologres表,可以提高開發效率且能保證表結構的正確性。

    • Schema Evolution

    Flink全托管支持Schema Evolution,在Flink讀取JSON數據時,可以自動解析類型,自動創建對應表的列,支持數據模型的動態演化。

  • Hologres支持的Flink產品形態及功能如下表所示。

    產品形態

    數據存儲類型

    企業級高級能力

    描述

    源表

    結果表

    維表

    Hologres Binlog消費

    Flink Catalog

    Schema Evolution

    Flink全托管

    支持行存儲及列存儲,Binlog源表建議使用行存儲或行列共存。

    支持行存儲及列存儲

    建議使用行存儲或行列共存

    支持

    支持

    支持

    使用VVP開發平臺。

    Flink半托管

    支持行存儲及列存儲,Binlog源表建議使用行存儲或行列共存。

    支持行存儲及列存儲

    建議使用行存儲或行列共存

    支持

    支持

    支持

    使用EMR Studio開發平臺。

    Blink獨享(已停售)

    支持行存儲及列存儲,Binlog源表建議使用行存儲或行列共存。

    支持行存儲及列存儲

    建議使用行存儲或行列共存

    Hologres V0.8版本只支持行存儲,V0.9及以上版本支持行存儲及列存儲。建議使用行存儲。

    不支持

    不支持

    使用Bayes開發平臺。

    推薦使用阿里云Flink全托管。

    開源Flink1.10

    不支持

    支持行存儲及列存儲

    不支持

    不支持

    不支持

    不支持

    -

    開源Flink1.11及以上版本

    不支持

    支持行存儲及列存儲

    建議使用行存儲

    不支持

    不支持

    不支持

    從開源Flink1.11版本開始,Hologres代碼已開源。詳細內容請參見GitHub

    開源Flink1.13及以上版本

    支持批量源表

    支持行存儲及列存儲

    建議使用行存儲

    不支持

    不支持

    不支持

    從開源Flink1.11版本開始,Hologres代碼已開源。詳細內容請參見GitHub

Hologres Connector Release Note

Flink版本

阿里云實時計算VVR版本

Hologres版本

更新信息

相關文檔

1.17

8.0.9~8.0.10

2.1.x

2.2.x

3.0.x

  • 修復共享連接池時,注冊新的client可能死鎖的問題。

  • 消費binlog從狀態恢復,不再強制檢查table id。

實時計算Flink-Hologres連接器

1.17

8.0.8

2.1.x

2.2.x

結果表:

  • 新增sink.delete-strategy參數,在原有ignoredelete的基礎上,豐富了對UPDATE BEFORE類型記錄的處理方式。

實時計算Flink-Hologres連接器

1.17

8.0.7

2.1.x

維表:

  • 修復維表字段較多時,頻繁獲取元數據導致作業上線超時的問題。

通用:

  • 修復不同的表使用了多個不同的用戶,共享連接池時拋出權限不足異常的問題。

實時計算Flink版實時消費Hologres

1.17

8.0.6

2.1.x

源表:

  • Hologres V2.1版本起下線Holohub模式,不再支持Flink通過Holohub模式消費Hologres Binlog。Flink VVR 8.0.6版本對應的Hologres Connector,支持在Hologres實例版本升級至V2.1后,自動將Holohub模式切換為JDBC模式,詳情請參見Flink/Blink實時消費Hologres Binlog

Hologres Catalog:

  • 創建Catalog時,支持在dbname參數中以dbname@warehouse_name的方式指定計算組。若指定的計算組為從計算組(follower),Catalog提供的表僅支持作為Flink SQL作業中的源表和維表,不支持作為結果表。

通用:

  • 支持通過type-mapping.timestamp-converting.legacy參數啟用正確讀寫Flink TIMESTAMP_LTZ類型,詳情請參見Flink與Hologres時區說明

1.17

8.0.5

2.0.x

2.1.x

源表:

  • Hologres實例為2.1及以上版本時,使用JDBC消費Binlog不再需要創建slot,詳情請參見詳見通過JDBC消費Hologres Binlog。因此,從該版本開始,當判斷Hologres實例的版本大于2.1時,也將不再自動創建publication和slot。

結果表:

  • 新增deduplication.enabled參數,默認為true。當設置為false時,表示結果表在寫入聚合過程中可以選擇不進行去重。該功能適用于對上游CDC流的完全回放等場景。

  • 無主鍵表支持bulkload寫入,相比原有的jdbc_copy,寫入時使用更少的Hologres資源。

通用:

  • 支持通過connection.ssl.mode以及connection.ssl.root-cert.location參數啟用傳輸加密。

  • 為內部JDBC連接增加超時參數,以防止在服務端異常重啟等情況下,客戶端連接出現死等的問題。

1.17

8.0.4

2.0.x

2.1.x

源表:

  • 在使用JDBC消費Binlog時會自動創建publication。然而,當對表進行重建時,之前創建的publication并不會被自動刪除,從而導致無法消費重建表的Binlog。在此版本中,針對這類情況進行了處理,系統將會自動刪除殘留的publication。

通用:

  • 為了增加連接池參數的默認值,現在同一任務中的Hologres維表和結果表將共享連接池。

1.17

8.0.3

2.0.x

2.1.x

通用:

  • 無論Hologres實例版本,維表和結果表都已不再支持RPC模式。若選擇RPC模式,將自動切換為jdbc_fixed模式,如果實例版本較低,建議升級版本。

實時數倉Hologres連接器

1.15

6.0.7

  • 1.3.x

  • 2.0.x

  • 源表:

    適配Hologres V2.0版本,檢測到用戶連接到的是2.0及以上版本的Hologres實例,則自動切換Holohub Binlog模式為jdbc binlog模式。

  • 維表:

    適配Hologres V2.0版本,檢測到用戶連接到的是2.0及以上版本的Hologres實例,則自動切換RPC模式為jdbc_fixed模式。

  • 結果表:

    • 適配Hologres V2.0版本,檢測到用戶連接到的是2.0及以上版本的Hologres實例,則自動切換RPC模式為jdbc_fixed模式。

    • 新增部分列更新能力,僅支持插入Flink INSERT語句中聲明的字段,使用此能力可以更加簡潔地表達寬表Merge場景。

  • 通用:

    Connector中發生record convert異常時,會打印出來源數據以及目前convert的結果,方便排查臟數據問題。

  • 問題修復:

    • 修復用戶作業中不同實例或者數據庫使用相同connectionPoolName不拋出異常的問題。

    • 修復6.0.6版本中維表字符串類型有null值時拋出空指針的問題。

實時數倉Hologres連接器

1.15

6.0.6

1.3.x

源表:

  • JDBC模式消費Hologres Binlog不再強制設置Slotname參數,支持創建默認Slot,從Holohub模式切換更平滑。

  • 新增enable_filter_push_down參數,批量源表不再默認下推filter條件,需要設置此參數值為true

實時數倉Hologres連接器

1.15

6.0.5

1.3.x

  • 通用:作業啟動時,會在TaskManager日志中打印所有參數信息,方便排查問題。

  • CTAS/CDAS:支持字段類型寬容模式,使用此模式上游發生數據類型修改事件時,只要所修改類型與原類型的歸一化類型相同,都視作修改成功。

  • Hologres Catalog:豐富ALTER TABLE語法,支持修改Hologres物理表屬性,支持修改表名、增加列、列重命名和修改列注釋。

1.15

6.0.3~6.0.4

1.3.x

源表:

  • 新增JDBC模式消費Hologres Binlog,此模式支持更多的數據類型,且支持自定義賬號。

  • 批量源表以及全增量源表的全量階段,支持Filter下推。

結果表:

支持以Fixed Copy的模式寫入,Fixed Copy是Hologres1.3版本新增的能力,相比通過JDBC模式進行寫入,Fixed Copy方式可以實現更高的吞吐(因為是流模式)、更低的數據延時和更低的客戶端內存消耗(因為不攢批)。

Hologres Catalog:

  • 支持創建Catalog時進行默認的表屬性設置。

sdkMode參數:Hologres不同類型的表都有多種模式可以選擇,此版本開始統一整理為sdkMode參數,詳情請參見Flink全托管

1.13

4.0.18

1.1及以上版本

修復Sink表上報Metrics影響寫入性能的問題。

1.13以及1.15

4.0.15以及6.0.2

1.1及以上版本

源表:

  • 從該版本開始,批量源表默認大小寫敏感。

  • 支持配置批量源表Scan操作所在事務的超時時間。

  • 修復批量源表解析復雜字符串可能失敗的問題。

  • 全增量源表新增Upsert模式。

維表:

Hologres維表支持異步請求的超時時間(asyncTimeoutMs)設置。

結果表:

  • 支持PARTITION BY語法,CTAS創建Hologres結果表時可以通過PARTITION BY定義分區表。

  • Metrcis支持currentSendTime指標。

1.13

4.0.13

1.1及以上版本

  • 源表支持全增量一體源表消費。

  • 支持Datastream API。

1.1.3

4.0.12

1.1及以上版本

  • 支持JSON格式動態寫入Hologres。

  • 支持寫入RoaringBitmap類型。

Flink全托管

1.13

4.0.11

0.10及以上版本

支持CTAS、CDAS。

1.13

4.0.8

0.10及以上版本

結果表、源表、維表支持Hologres Catalog。

管理Hologres Catalog

1.13

3.0.0

0.9及以上版本

支持實時消費Hologres。

Flink全托管

1.13

2.0.0

0.7及以上版本

支持Hologres Connector。

Flink全托管

Hologres Connector相關已知缺陷和修復版本

  • 缺陷及修復說明

    • 影響版本會明確標注,不在范圍內的沒有對應缺陷。

    • 影響版本標記為“不涉及”,表示問題可能是Hologres引擎的缺陷,而非Connector的問題。

  • 缺陷等級說明

    • P0:建議立即升級,一旦觸發會影響線上的使用(如查詢正確性、寫入成功率等操作)。

    • P1:推薦升級,提前規避相關問題。

    • P2:選擇性升級,偶爾發生的問題,具備應該改寫方法,或重啟即可修復。

等級

缺陷描述

影響版本

修復版本

解決方法

P1

JDBC模式消費Binlog,出現Binlog Convert Failed異常,或者部分shard的數據讀取停止在某個時刻。原因是Hologres實例的Gateway收到后端超時的異常信息時,將異常返回給客戶端的過程中會存在問題,導致讀取數據卡住或數據解析失敗報錯。

不涉及

不涉及

一般在作業反壓時會更容易出現,如果作業存在數據讀取卡住的問題,可以選擇重啟作業并從最近的checkpoint恢復。

要徹底解決該問題,需要將Hologres版本升級到2.2.21及以上版本。

P2

作業上線慢或者超時,查看Thread Dump卡在 GetTableSchema處。

不涉及

不涉及

可能存在多種情況,可以根據以下步驟依次排查:

  1. 請先驗證Flink集群和Hologres實例的網絡連通性

  2. 調整 jdbcRetryCount參數為1,防止內部重試無法看到異常根因。

  3. Hologres 2.0版本之前,在用戶DDL頻繁時,存在元數據清理不及時的問題,可能導致查詢表的Meta變慢,建議將Hologres版本升級至2.1及以上版本。

P0

通過FixedFE(對應connector中的jdbc_fixed模式)寫入Hologres的 Text,Json或Jsonb類型時,如果數據源有不合法的字符,可能拋出預期外的異常,進一步導致當前連接所在FE節點重啟,當前FE的連接中斷。

不涉及

不涉及

如果無法保證上游字符串的合法性,建議使用jdbc模式寫入,并且為結果表開啟

remove-u0000-in-text.enabled參數。

或者將Hologres版本升級至3.0及以上版本,以繼續使用jdbc_fixed模式。

P1

在進行JDBC維表一對多join時,Flink Task出現內存使用過高或者OOM 的情況。

不涉及

不涉及

Hologres1.3版本,使用prefix scan,在查詢結果大于jdbcScanFetchSize時,出現批量查詢不結束的情況。繞過方法:將jdbcScanFetchSize設置為一個大值,例如100000

要徹底解決該問題,需要升級Hologres實例版本至 2.0及以上版本。

P1

Binlog作業有狀態恢復時,拋出the table id parsed from checkpoint is different from the current table id的異常。原因是作業在之前運行過程中,進行了TRUNCATE或者重建表,而checkpoint中存儲的是作業首次啟動時的table id,導致與當前的table id不匹配。

8.0.4

8.0.9

從8.0.9版本開始,不再強制檢查table id,而是僅輸出WARN級別日志,以允許作業從最新狀態恢復。但仍然不推薦在binlog表作業運行時進行重建表操作。對binlog來說,這類操作會導致之前的binlog完全丟失。

P2

作業運行過程中發生反壓,查看ThreadDump發現Execution Pool卡在close或者start方法。原因是共享連接池多個client復用同一個連接池時,可能存在死鎖,導致連接池無法正常關閉。

8.0.5

8.0.9

建議升級版本。

P2

如果對源表進行了DELETE FROM操作之后進行全增量消費,由于增量階段沒有數據,導致全量階段會從頭開始消費所有的binlog。

8.0.6及之前版本

8.0.7

建議升級或者指定其實時間進行增量消費。

P1

維表字段數量較多時,作業上線超時。

8.0.6

8.0.7

建議升級版本。

P0

當在批量源表中開啟enable_filter_push_down參數后,Filter不生效,導致讀取的數據包含了一些應該被過濾掉的數據。

說明

全增量和Binlog源表不存在此問題。

8.0.5及之前版本

8.0.6

建議升級版本。

P0

通過FixedFE(對應Connector中的jdbc_fixed模式)寫入JSON或JSONB類型數據到Hologres時,如果數據源有不合法的JSON或JSONB字段,會導致當前連接所在FE節點重啟,當前FE的連接中斷。

8.0.5及之前版本

暫無

如果無法保證上游JSON或JSONB字符串的合法性,建議使用JDBC模式寫入。

P1

JDBC維表一對多Join時,內部出現的連接失敗等異常無法拋出,表現為異步Join節點反壓且數據不再流動,發生概率較小。

6.0.7及之前版本

8.0.3

建議升級版本,也可以通過重啟作業暫時恢復。

P1

通過JDBC模式消費Binlog時,存在內存泄漏問題。可能的表現為作業啟動時消費速率較高,之后持續下降。

6.0.7及之前版本

6.0.7

建議升級版本,對于DataStream作業,需要使用6.0.7-1版本的依賴。

P0

JDBC模式寫入的定時Flush(由jdbcWriteFlushInterval參數控制)捕獲的異常在下條數據寫入時才會拋出,當用戶寫入流量較小時,異常被捕獲還未拋出期間有可能進行成功的checkpoint。下次失敗時會從這個不合理成功的checkpoint恢復,從而可能出現丟數據的情況。

6.0.6及之前版本

6.0.7

流量較小時容易出發此缺陷,建議升級版本,或者調整jdbcWriteFlushInterval時間大于checkpoint的間隔時間。

P2

JDBC模式消費Binlog不設置Slotname時,系統會自動創建一個Slotname。若當表名含有特殊字符或Schema名稱時,自動創建非法Slotname,無法使用,且作業將會拋出syntax error異常。

6.0.6

6.0.7

建議升級版本,對于DataStream作業,需要使用6.0.7-1版本的依賴。

P1

用戶作業中不同的Hologres實例或數據庫使用相同的connectionPoolName時,出現找不到表等異常。

6.0.6及之前版本

6.0.7

同一個作業使用的Hologres實例或者數據庫不同時,使用不同的connectionPoolName

P1

維表字符串類型有null值時,會拋出NPE異常。

6.0.6

6.0.7

建議升級版本。

P0

Hologres源表默認開啟Filter下推,但如果作業也使用了Hologres維表,且寫入的DML中包含對維表非主鍵字段的過濾條件時,維表的Filter也會被錯誤地下推,可能導致維表Join出現錯誤結果。

6.0.3~6.0.5

6.0.6

建議升級版本。

P0

多個結果表的mutatetype不同,但使用同一個connectionPoolName參數以復用連接池時,可能出現mutatetype配置被覆蓋的情況,導致配置不生效。

6.0.2及之前版本

6.0.3

將全部結果表的mutatetype都設置為InsertOrUpdate,或者為mutatetype不同的表設置不同的connectionPoolName

P1

Binlog源表DDL中聲明hg_binlog_timestamp_us字段時拋出NPE異常。

6.0.2

6.0.3

不使用所述字段,或者升級版本。

P1

匯報Metrics會影響結果表的寫入性能,排查表現為Sink節點的thread dump會卡在reportWriteLatency

4.0.15~4.0.17

4.0.18

選擇沒有受影響的版本。

P2

批量源表讀取字符或字符數組類型,其中比較特殊字符時,解析字符串失敗。

4.0.14及之前版本

4.0.15

清理源表中的臟數據,或者升級版本。

P2

全增量一體化源表DDL中聲明hg_binlog等Binlog獨有字段時,消費不到全量數據。

4.0.13

4.0.14

不使用全增量功能,或者升級版本。

上一篇: 導入 下一篇: Flink全托管
阿里云首頁 實時數倉 Hologres 相關技術圈