資料庫批次來源

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

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

設定外掛程式

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

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

      新連結

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

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

      可重複使用的連線

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

      1. 開啟「使用連線」
      2. 按一下「Browse connections」(瀏覽連線)
      3. 選取連結。

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

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

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

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

    6. 選用:在「Split-by field name」(依欄位名稱分割) 欄位中,輸入產生分割的欄位名稱。

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

    8. 選用:在「擷取大小」欄位中輸入數字,例如 1000

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

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

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

屬性

屬性 含巨集功能 必填 說明
標籤 資料管道中的節點名稱。
使用連線 瀏覽來源的連線。如果選取「使用連線」,則不需要提供憑證。
連結 要使用的連線名稱。如果選取「使用連線」,這個欄位就會顯示。資料庫和資料表資訊由連線提供。
JDBC 驅動程式名稱 要使用的 JDBC 驅動程式。
預設值為「No JDBC plugins」(沒有 JDBC 外掛程式)
連線字串 JDBC 連線字串,包括資料庫名稱。
使用者名稱 連線至資料庫時要使用的使用者身分。如果資料庫需要驗證,就必須提供這項資訊。如果資料庫不需要驗證,則為選用。
密碼 連線至指定資料庫時要使用的密碼。如果資料庫需要驗證,則必須提供這項資訊。如果資料庫不需要驗證,則為選用。
連線引數 任意字串標記/值組合清單,做為連線引數。 如果 JDBC 驅動程式需要額外設定,這些引數會以連線引數的形式傳遞至 JDBC 驅動程式,格式如下:key1=value1;key2=value
參照名稱 這個名稱可做為沿襲和註解中繼資料的來源專屬 ID。通常是資料表或檢視表的名稱。
取得結構定義 來源輸出的記錄結構定義。用來取代查詢傳回的結構定義。除了可將欄位標示為可為空值,以及可包含部分欄位外,其餘部分都必須與查詢傳回的結構定義相符。
匯入查詢 用於從指定資料表匯入資料的 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」(取代為) 屬性,系統會從欄位名稱中移除模式。
取代為 資料表欄位名稱中要取代的字串。您也必須設定「要取代的模式」欄位。
輸出內容結構定義 指定輸出內容的結構定義。輸出記錄只會包含結構定義中定義的資料欄。

最佳做法

確認是否有適用於資料庫的特定外掛程式。舉例來說,如果您有 Oracle 資料庫來源,請改用 Oracle 資料庫批次來源外掛程式,因為該外掛程式專為 Oracle 結構定義設計。

後續步驟