資料庫的 Dataflow 代管 I/O
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
Dataflow 支援使用 Java Database Connectivity (JDBC) 從資料庫讀取資料,以及將資料寫入資料庫。Dataflow 會使用 Apache Beam JdbcIO 連接器,連線至 JDBC 資料來源和接收器。資料庫的受管理 I/O 支援各種資料庫的標準 JDBC 驅動程式,包括 PostgreSQL、MySQL 和 Microsoft SQL Server。
需求條件
下列 SDK 支援資料庫的代管 I/O:
- Java 適用的 Apache Beam SDK 2.69.0 以上版本
- 適用於 Python 的 Apache Beam SDK 2.69.0 以上版本
設定
資料庫的受管理 I/O 支援下列設定參數:
POSTGRES 閱讀
| 設定 |
類型 |
說明 |
|
jdbc_url
|
str
|
JDBC 來源的連線網址。
|
|
connection_properties
|
str
|
用於設定傳遞給 JDBC 驅動程式的連線屬性,這些屬性尚未定義為獨立參數 (例如,可使用上述參數設定使用者名稱和密碼)。字串格式必須為「key1=value1;key2=value2;」。
|
|
fetch_size
|
int32
|
這個方法用於覆寫每次資料庫呼叫時,要擷取並載入記憶體的資料大小。只有在預設值會擲回記憶體錯誤時,才應使用這個值。
|
|
location
|
str
|
要讀取的資料表名稱。 |
|
num_partitions
|
int32
|
分區數量
|
|
output_parallelization
|
boolean
|
是否要重新隨機排序產生的 PCollection,以便將結果分配給所有工作站。
|
|
partition_column
|
str
|
用於分區的數值型別資料欄名稱。
|
|
密碼
|
str
|
JDBC 來源的密碼。
|
|
read_query
|
str
|
用於查詢 JDBC 來源的 SQL 查詢。
|
|
使用者名稱
|
str
|
JDBC 來源的使用者名稱。
|
POSTGRES 撰寫
| 設定 |
類型 |
說明 |
|
jdbc_url
|
str
|
JDBC 接收器的連線網址。
|
|
自動分片
|
boolean
|
如果啟用,就會以動態決定的 shard 數量寫入資料。
|
|
batch_size
|
int64
|
n/a
|
|
connection_properties
|
str
|
用於設定傳遞給 JDBC 驅動程式的連線屬性,這些屬性尚未定義為獨立參數 (例如,可使用上述參數設定使用者名稱和密碼)。字串格式必須為「key1=value1;key2=value2;」。
|
|
location
|
str
|
要寫入的資料表名稱。
|
|
密碼
|
str
|
JDBC 來源的密碼。
|
|
使用者名稱
|
str
|
JDBC 來源的使用者名稱。
|
|
write_statement
|
str
|
用於將記錄插入 JDBC 接收器的 SQL 查詢。
|
MYSQL 閱讀
| 設定 |
類型 |
說明 |
|
jdbc_url
|
str
|
JDBC 來源的連線網址。
|
|
connection_init_sql
|
list[str]
|
設定驅動程式使用的連線初始化 SQL 陳述式。只有 MySQL 和 MariaDB 支援這項功能。
|
|
connection_properties
|
str
|
用於設定傳遞給 JDBC 驅動程式的連線屬性,這些屬性尚未定義為獨立參數 (例如,可使用上述參數設定使用者名稱和密碼)。字串格式必須為「key1=value1;key2=value2;」。
|
|
disable_auto_commit
|
boolean
|
是否要在讀取時停用自動提交。如未提供,預設值為 true。是否需要這項設定取決於資料庫平台。Informix 必須將此值設為 false,Postgres 則必須設為 true。
|
|
fetch_size
|
int32
|
這個方法用於覆寫每次資料庫呼叫時,要擷取並載入記憶體的資料大小。只有在預設值會擲回記憶體錯誤時,才應使用這個值。
|
|
location
|
str
|
要讀取的資料表名稱。 |
|
num_partitions
|
int32
|
分區數量
|
|
output_parallelization
|
boolean
|
是否要重新隨機排序產生的 PCollection,以便將結果分配給所有工作站。
|
|
partition_column
|
str
|
用於分區的數值型別資料欄名稱。
|
|
密碼
|
str
|
JDBC 來源的密碼。
|
|
read_query
|
str
|
用於查詢 JDBC 來源的 SQL 查詢。
|
|
使用者名稱
|
str
|
JDBC 來源的使用者名稱。
|
MYSQL 撰寫
| 設定 |
類型 |
說明 |
|
jdbc_url
|
str
|
JDBC 接收器的連線網址。
|
|
自動分片
|
boolean
|
如果啟用,就會以動態決定的 shard 數量寫入資料。
|
|
batch_size
|
int64
|
n/a
|
|
connection_init_sql
|
list[str]
|
設定驅動程式使用的連線初始化 SQL 陳述式。只有 MySQL 和 MariaDB 支援這項功能。
|
|
connection_properties
|
str
|
用於設定傳遞給 JDBC 驅動程式的連線屬性,這些屬性尚未定義為獨立參數 (例如,可使用上述參數設定使用者名稱和密碼)。字串格式必須為「key1=value1;key2=value2;」。
|
|
location
|
str
|
要寫入的資料表名稱。
|
|
密碼
|
str
|
JDBC 來源的密碼。
|
|
使用者名稱
|
str
|
JDBC 來源的使用者名稱。
|
|
write_statement
|
str
|
用於將記錄插入 JDBC 接收器的 SQL 查詢。
|
SQLSERVER 閱讀
| 設定 |
類型 |
說明 |
|
jdbc_url
|
str
|
JDBC 來源的連線網址。
|
|
connection_properties
|
str
|
用於設定傳遞給 JDBC 驅動程式的連線屬性,這些屬性尚未定義為獨立參數 (例如,可使用上述參數設定使用者名稱和密碼)。字串格式必須為「key1=value1;key2=value2;」。
|
|
disable_auto_commit
|
boolean
|
是否要在讀取時停用自動提交。如未提供,預設值為 true。是否需要這項設定取決於資料庫平台。Informix 必須將此值設為 false,Postgres 則必須設為 true。
|
|
fetch_size
|
int32
|
這個方法用於覆寫每次資料庫呼叫時,要擷取並載入記憶體的資料大小。只有在預設值會擲回記憶體錯誤時,才應使用這個值。
|
|
location
|
str
|
要讀取的資料表名稱。 |
|
num_partitions
|
int32
|
分區數量
|
|
output_parallelization
|
boolean
|
是否要重新隨機排序產生的 PCollection,以便將結果分配給所有工作站。
|
|
partition_column
|
str
|
用於分區的數值型別資料欄名稱。
|
|
密碼
|
str
|
JDBC 來源的密碼。
|
|
read_query
|
str
|
用於查詢 JDBC 來源的 SQL 查詢。
|
|
使用者名稱
|
str
|
JDBC 來源的使用者名稱。
|
SQLSERVER 撰寫
| 設定 |
類型 |
說明 |
|
jdbc_url
|
str
|
JDBC 接收器的連線網址。
|
|
自動分片
|
boolean
|
如果啟用,就會以動態決定的 shard 數量寫入資料。
|
|
batch_size
|
int64
|
n/a
|
|
connection_properties
|
str
|
用於設定傳遞給 JDBC 驅動程式的連線屬性,這些屬性尚未定義為獨立參數 (例如,可使用上述參數設定使用者名稱和密碼)。字串格式必須為「key1=value1;key2=value2;」。
|
|
location
|
str
|
要寫入的資料表名稱。
|
|
密碼
|
str
|
JDBC 來源的密碼。
|
|
使用者名稱
|
str
|
JDBC 來源的使用者名稱。
|
|
write_statement
|
str
|
用於將記錄插入 JDBC 接收器的 SQL 查詢。
|
後續步驟
如需更多資訊和程式碼範例,請參閱下列文件:
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2026-04-11 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2026-04-11 (世界標準時間)。"],[],[]]