每當您需要從資料庫讀取資料時,就能使用這個一般來源。舉例來說,您可以使用這項功能建立一般資料庫資料表的每日快照,並將輸出內容寫入 BigQuery。
設定外掛程式
- 前往 Cloud Data Fusion 網頁介面,然後點選「Studio」。
- 確認已選取「Data Pipeline - Batch」(資料管道 - 批次),而非「Realtime」(即時)。
- 在「來源」選單中,按一下「資料庫」。
- 如要設定外掛程式,請將游標懸停在外掛程式節點上,然後按一下「Properties」(屬性)。
輸入下列屬性。如要進一步瞭解各項屬性,請參閱「屬性」。
- 輸入資料庫節點的標籤,例如
database tables。 輸入連線詳細資料。您可以設定新的單次連線,或是現有的可重複使用連線。
新連結
如要新增與資料庫的一次性連線,請按照下列步驟操作:
- 請關閉「使用連線」。
- 輸入下列連線屬性:
- 在 JDBC 驅動程式名稱欄位中,輸入驅動程式名稱 (如有)。否則請保持選取「No JDBC plugins」。
- 在「連線字串」欄位中,輸入 JDBC 連線字串,包括資料庫名稱。
- 選用:如果資料庫需要驗證,請輸入資料庫使用者名稱和密碼憑證。
- 選用:如果 JDBC 驅動程式需要額外設定,請在「連線引數」欄位中輸入連線的鍵值引數。
可重複使用的連線
如要重複使用現有連線,請按照下列步驟操作:
- 開啟「使用連線」。
- 按一下「Browse connections」(瀏覽連線)。
選取連結。
選用:如果沒有連線,且您想建立新的可重複使用的連線,請按一下「新增連線」,然後參閱這個頁面「新連線」分頁中的步驟。
選用:如要測試連線,請按一下「取得架構」。這個結構定義會取代查詢傳回的任何結構定義。除了可將欄位標示為可為空值,以及可包含部分欄位外,這個結構定義必須與查詢傳回的結構定義相符。
在「Import query」(匯入查詢) 欄位中,輸入用來從指定資料表匯入資料的
SELECT查詢,例如select id, name, email, phone from users;。選用:在「Bounding query」(範圍查詢) 欄位中,輸入要讀取的最小值和最大值,例如
SELECT * FROM table WHERE $CONDITIONS。選用:在「Split-by field name」(依欄位名稱分割) 欄位中,輸入產生分割的欄位名稱。
選用:在「要生成的分割數」欄位中輸入數字,例如
2。選用:在「擷取大小」欄位中輸入數字,例如
1000。選用:輸入進階屬性,例如變更資料欄名稱的大小寫。
- 輸入資料庫節點的標籤,例如
選用:按一下「驗證」,並修正所有錯誤。
按一下「關閉」。系統會儲存屬性,您可以在 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 結構定義設計。
後續步驟
- 進一步瞭解 Cloud Data Fusion 中的外掛程式。