Greenplum数据源使用说明

  • 文檔創建者:Roxy
  • 編輯次數:11
  • 最近更新:shuning 于 2026-07-16
  • 通用限制

    1)無論是否配置「並行裝載設定」項,在進行資料開發時,要注意大小寫規範,最好是統一為大寫格式,否則會出現報錯;比如在進行資料查詢時,將查詢內容統一大小寫或者將查詢內容加引號。

    2)在 Greenplum 資料庫中,欄位名的長度限制:

    • 最大 64 個字元;若使用英文字母、數字或底線,最多可支援 64 個字元;若包含中文字元(每個漢字佔 2-4 個字元),實際字元數會減少。

    • 建議使用小寫字母、數字、底線組合來命名;避免以數字開頭或包含特殊字元。

    資料開發-定時任務

    資料來源

    支援定時任務讀取資料庫的分割槽表,如下圖所示:

    2026-07-16_16-59-41.png

    資料去向與映射

    1)定時任務支援選擇分割槽表作為資料去向,如下圖所示:

    2026-07-16_17-11-18.png

    2)4.1.9.3 及之後的版本,目標表為自動建表時,支援指定分佈鍵。

    3)4.1.9.3 及之後的版本,定時任務自動建表設定主鍵後,點選「分割槽鍵設定」按鈕,支援指定分割槽鍵。如下圖所示:

    注:僅支援一級分割槽。

    2026-07-16_17-17-01.png

    注:5.x、6.x 支援範圍分割槽和列表分割槽;GP7 額外支援哈希分割槽,所有分割槽方式,僅支援一個欄位作為分割槽欄位(GPORCA不支援)。

    配置方式參見讀取、建立、寫入分割槽表,有如下差別:

    • 範圍分割槽和列表分割槽分割槽名稱支援為空,為空時按照位置自動取名(相當於不指定名稱,資料庫會自動取名,不需要FDL處理)

    • 範圍分割槽有兩種方式來指定範圍(支援指定包含或不包含)

    1)方式一:起始值和結束值必填,在起始結束值都合法的時候,才支援指定間隔,來自動劃分分割槽,舉例:「start (date '2015-01-01') end (date '2020-12-31') every (interval '1 year')」

          欄位類型為日期時,間隔支援指定年月日

          欄位類型為數字時,間隔支援指定正整數

    2)方式二:單獨指定「大於等於XXX」「小於等於XXX」條件

    注:方式一和方式二指定的分割槽允許共存。

    支援指定預設分割槽。

    寫入方式

    定時任務中設定資料匯出到 Greenplum 資料庫時。「寫入方式」介面如下圖所示:

    2026-07-16_17-24-18.png


    1)「裝載方式」介紹如下表所示:

    裝載方式
    說明
    並行裝載

    1)gpfdist 預設使用 15500 埠

    2)二進制類型欄位不支援在勾選「啟動並行裝載」的時候同步

    3)4.1.2 及之後版本,支援寫入 JSON 類型欄位,但仍不支援寫入二進制欄位

    4)4.1.2 及之後版本,主鍵衝突策略可選擇:主鍵相同,忽略輸入源的資料主鍵相同,記錄為髒資料主鍵相同,改寫目標表的資料

    5)開啟 髒資料容忍 後,並行裝載方式失敗後,需要透過 GPLOAD 內建錯誤表邏輯,獲取到髒資料資訊,正確記錄髒資料;如果沒有開啟髒資料容忍,則節點直接報錯

    6)以 gpfdist 協定做並行裝載,4.1.2 之前版本不支援插入/更新/刪除資料寫入方式,4.1.2 及之後版本支援該寫入方式

    7)並行裝載在大數據量、大規模叢集場景下效能優於 COPY

    8)配置資料連結時需按照 配置並行裝載設定 步驟操作,配置並行裝載設定

    注:若選擇並行裝載方式,需要進行權限指定。

    COPY裝載(4.1.2 版本新增)

    若選擇 COPY 裝載方式,需要在目標資料庫先建立 fdl_temp 模式用來存放臨時表,需要使用者有建表、建指定模式的權限(如果已由 DBA 建好模式並賦權,資料庫使用者可不需要建schema的權限)

    選擇該方式時,支援寫入二進制欄位、JSON 欄位

    寫入方式
    說明
    直接將資料寫入目標表

    1)目標表無主鍵且未配置「主鍵映射」時,使用 COPY 裝載方式

    2)目標表有主鍵或配置「主鍵映射」後,支援三種主鍵衝突策略:主鍵相同,忽略輸入源的資料主鍵相同,記錄為髒資料主鍵相同,改寫目標表的資料三種主鍵衝突策略,採用COPY裝載方式+普通裝載方式

    清空目標表,再寫入資料採用COPY裝載方式+普通裝載方式
    基於標識欄位,追加/更新/刪除資料

    採用COPY裝載方式+普通裝載方式時:

    COPY 裝載方式失敗後,需要嘗試將該批資料使用「普通裝載」寫入,寫入異常將統計進入髒資料,當前這一批資料寫完後,下一批繼續優先嚐試使用 COPY 進行裝載

    普通裝載以 JDBC 做串行裝

    1)向 GreenPlum 寫入資料時,不建議選擇該方式

    2)若只從 GreenPlum 讀取資料,建議按照 不配置並行裝載設定 步驟配置資料連結

    定時任務中特殊場景說明:

    特殊場景
    處理策略
    COPY方案裝載時,源端待裝載的單批資料中,存在 N 條(N>1)主鍵相同的資料。

    一批資料中多條源端資料,更新目標端的一筆資料,不知道要用哪條更新,造成裝載異常

    預設取首筆資料,如果資料異常,使用者可以在前置步驟中手動去重
    並行裝載方案裝載時,源端待裝載的單批資料中,存在N條(N>1)主鍵相同的資料。

    一批資料中多條源端資料,更新目標端的一筆資料,不知道要用哪條更新,造成裝載異常

    開啟了髒資料容忍,COPY失敗的時候轉 JDBC ,然後裝載速率變很慢

    情況一:如果使用者同步的欄位中沒有二進制欄位,可以考慮使用GP並行裝載

    情況二:如果使用者同步的欄位中有二進制欄位,目前只能接受此問題

    2)4.2.7.4 及之後版本,目標端為 GreenPlum 時,支援 交易控制 功能。

    實時管道

    1)4.1.1 及之後版本,Greenplum 資料源作為目標表,支援 無主鍵同步

    2)資料管道任務中支援寫入至 Greenplum 資料庫。管道任務配置請參見:資料管道概述

    3)4.1.9.3 及之後的版本,管道任務自動建表支援指定分割槽鍵。如下圖所示:

    2026-07-16_17-35-12.png

    4)管道任務目標端為 Greenplum 時,若目標表為手動建立的且包含時間戳欄位(記錄資料在資料庫中實際新增和更新的時間),需要給時間戳欄位設定個預設值:((EXTRACT(EPOCH FROM CURRENT_TIMESTAMP) * 1000)::bigint),否則增量後時間戳欄位會為空。

    5)4.0.29 及之後版本,Greenplum、Greenplum(並行裝載)作為目標端同步優化:當資料透過COPY裝載失敗時,重新使用JDBC裝載,重新裝載再失敗時,識別為髒資料,並正常記錄,以保證資料正常。

    6)資料管道使用 Greenplum 或者 Greenplum(並行裝載)作為目標表時,都是用的 COPY 裝載模式,需要在目標資料庫先建立 fdl_temp 模式用來存放臨時表,因此需要給該資料連結帳號賦予在對應資料庫建立模式的權限。詳情參見:配置Greenplum資料源

    資料服務

    資料服務支援 Greenplum 資料庫,但需要配置「並行裝載設定」項。資料服務請參見:資料服務概述

    4.1.9.3 及之後的版本,資料服務支援選擇分割槽表作為資料來源,如下圖所示:

    2026-07-16_17-55-56.png


    定時管道

    1)4.2.19.3 及之後版本,定時管道支援寫入該資料庫。

    2)4.2.20.1 及之後版本,配置定時管道任務&Greenplum作為目標端時,支援開啟「同步源表結構變化」按鈕,詳情請參見:自動同步


    附件列表


    主題: 配置資料源
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    中文(繁體)

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    獲取幫助
    線上支援
    獲取專業技術支援,快速幫助您解決問題
    工作日9:00-12:00,13:30-17:30在线
    頁面反饋
    針對當前網頁的建議、問題反饋
    售前咨詢
    業務咨詢
    電話:0933-790886或 0989-092892
    郵箱:taiwan@fanruan.com
    頁面反饋
    *問題分類
    不能為空
    問題描述
    0/1000
    不能為空

    反馈已提交

    网络繁忙