資料庫批次來源

本頁面提供在 Cloud Data Fusion 中設定資料庫批次來源外掛程式的指南。

每當您需要從資料庫讀取資料時,就能使用這個通用來源。舉例來說,您可以使用這項功能為一般資料庫表格建立每日快照,並將輸出內容寫入 BigQuery。

設定外掛程式

  1. 前往 Cloud Data Fusion 網頁介面,然後按一下「Studio」
  2. 確認已選取「資料管道 - 批次」 (而非「即時」)。
  3. 在「來源」選單中,按一下「資料庫」
  4. 如要設定外掛程式,請將游標懸停在外掛程式節點上,然後按一下「Properties」
  5. 輸入下列屬性。如要進一步瞭解各項屬性,請參閱「屬性」。

    1. 輸入資料庫節點的標籤,例如 database tables
    2. 輸入連線詳細資料。您可以設定新的一次性連線,或現有的可重複使用的連線。

      新連結

      如要新增一次性資料庫連線,請按照下列步驟操作:

      1. 關閉「Use connection」
      2. 輸入下列連線屬性:
        1. 在 JDBC 驅動程式名稱欄位中,輸入驅動程式名稱 (如果有)。否則請保留「No JDBC plugins」的選取狀態。
        2. 在「連線字串」欄位中輸入 JDBC 連線字串,包括資料庫名稱。
        3. 選用:如果資料庫需要驗證,請輸入資料庫使用者名稱和密碼憑證。
        4. 選用:如果 JDBC 驅動程式需要額外設定,請在「連線引數」欄位中,輸入連線的鍵/值引數。

      可重複使用的連線

      如要重複使用現有的連線,請按照下列步驟操作:

      1. 開啟「Use connection」
      2. 按一下「瀏覽連線」
      3. 選取連線來源。

      4. 選用步驟:如果沒有連線,且您想要建立可重複使用的新連線,請按一下「新增連線」,然後參閱本頁「新連線」分頁中的步驟。

    3. 選用:如要測試連線能力,請按一下「取得架構」。系統會使用這個結構定義,取代查詢傳回的任何結構定義。它必須與查詢傳回的結構定義相符,但您可以將欄位標示為可為空值,且可包含部分欄位。

    4. 在「Import query」欄位中,輸入 SELECT 查詢,以便從指定資料表匯入資料,例如 select id, name, email, phone from users;

    5. 選用:在「Bounding query」欄位中輸入要讀取的最小值和最大值,例如 SELECT * FROM table WHERE $CONDITIONS

    6. 選用:在「依據欄位名稱分割」欄位中,輸入產生分割項目的欄位名稱。

    7. 選用:在「要產生的分割次數」欄位中輸入數字,例如 2

    8. 選用步驟:在「Fetch size」欄位中輸入數字,例如 1000

    9. 選用:輸入進階屬性,例如變更欄名稱的大小寫。

  6. 選用步驟:按一下「驗證」,然後修正所有錯誤。

  7. 按一下「關閉」。系統會儲存屬性,您可以繼續在 Cloud Data Fusion Studio 中建構資料管道。

屬性

屬性 已啟用巨集 必填 說明
標籤 資料管道中的節點名稱。
使用連線 瀏覽來源連線。如果選取「Use connection」,您就不需要提供憑證。
連線 要使用的連線名稱。如果選取「Use connection」,這個欄位就會顯示。資料庫和資料表資訊是由連線提供。
JDBC 驅動程式名稱 要使用的 JDBC 驅動程式。
預設值為「No JDBC plugins」
連線字串 JDBC 連線字串,包括資料庫名稱。
使用者名稱 連線至資料庫的使用者身分。需要驗證的資料庫必須提供此值。對於不需要驗證的資料庫,此屬性為選用。
密碼 連線至指定資料庫時要使用的密碼。這是需要驗證的資料庫的必要項目。對於不需要驗證的資料庫,此屬性為選用。
連線引數 任意字串標記/值組合清單,做為連線引數。對於需要額外設定的 JDBC 驅動程式,這些引數會以以下格式傳遞至 JDBC 驅動程式做為連線引數:key1=value1;key2=value
參照名稱 這個來源的名稱可用於唯一識別譜系和標註中繼資料。通常是資料表或檢視表的名稱。
取得結構定義 來源輸出的記錄結構定義。可用來取代查詢傳回的結構定義。它必須與查詢傳回的結構定義相符,但可讓您將欄位標示為可為空值,且可包含部分欄位。
匯入查詢 SELECT 查詢,用於從指定資料表匯入資料。您可以指定要匯入的任意欄數,也可以使用 * 匯入所有欄。查詢應包含 $CONDITIONS 字串。例如 SELECT * FROM table WHERE $CONDITIONS$CONDITIONS 字串會由 Bounding query 欄位中指定的 splitBy 欄位限制取代。如果「分割次數」欄位設為 1,則不需要 $CONDITIONS 字串。
邊界查詢 邊界查詢,會傳回分割欄的值的最小值和最大值。例如 SELECT MIN(id),MAX(id) FROM table。如果分割數量設為 1,則不需要。
依欄位名稱分割 用於產生分割項目的欄位名稱。如果要產生的分割數量設為 1,則不需要這項屬性。
要產生的分割數量 要產生的分割數量。
預設值為 1
擷取大小 每次分割時要擷取的資料列數。擷取大小越大,匯入速度就越快,但記憶體用量也會隨之增加。
預設值為 1000
啟用自動提交功能 是否要為此來源執行的查詢啟用自動提交功能。除非您使用的是會在執行提交作業時導致錯誤的 JDBC 驅動程式,否則請將此屬性設為 False
預設值為 False
資料欄名稱大小寫 設定查詢傳回的資料欄名稱大小寫。您可以選擇大寫或小寫字母。根據預設或任何其他輸入內容,系統不會修改資料欄名稱,而是使用資料庫傳回的字母大小寫。設定這個屬性可在不同資料庫之間預測資料欄名稱的大小寫,但如果忽略大小寫,當多個資料欄名稱相同時,可能會導致資料欄名稱發生衝突。
預設值為「無變更」
交易隔離等級 此匯入項目執行查詢的交易隔離等級。詳情請參閱 setTransactionIsolation()。如果 Phoenix 資料庫未啟用交易,且此欄位設為 true,Phoenix JDBC 驅動程式就會擲回例外狀況。對於這類駕駛人,請將這個欄位設為 TRANSACTION_NONE
預設為 TRANSACTION_SERIALIZABLE
要取代的模式 在資料表中要取代的欄位名稱模式 (通常會搭配「取代為」屬性使用)。如果未設定 Replace with 屬性,系統會從欄位名稱中移除模式。
取代為 在資料表中,用來取代欄位名稱的字串。您也必須設定「Pattern to replace」欄位。
輸出結構定義 指定輸出結構定義。輸出記錄中只會包含結構定義中的資料欄。

最佳做法

檢查資料庫是否有更專門的外掛程式。舉例來說,如果您有 Oracle 資料庫來源,請改用 Oracle 資料庫批次來源外掛程式,因為它是專為與 Oracle 結構定義搭配使用而設計。

後續步驟