kafka-connect-jdbc-sink配置屬性
要使用此連接器,請在connector.class
配置屬性中指定連接器類的名稱。
connector.class=io.confluent.connect.jdbc.JdbcSinkConnector
連接器特定的配置屬性如下所述。
數據庫連接安全
在連接器配置中,您會注意到沒有安全參數。這是因爲SSL不屬於JDBC標準,而是取決於所使用的JDBC驅動程序。通常,您需要通過connection.url
參數配置SSL 。例如,對於MySQL,它看起來像:
connection.url="jdbc:mysql://127.0.0.1:3306/sample?verifyServerCertificate=false&useSSL=true&requireSSL=true"
請與您的特定JDBC驅動程序文檔聯繫以獲取有關支持和配置的信息。
連接(Connection)
-
connection.url
JDBC連接URL。例如:
jdbc:oracle:thin:@localhost:1521:orclpdb1
,jdbc:mysql://localhost/db_name
,jdbc:sqlserver://localhost;instance=SQLEXPRESS;databaseName=db_name
- 類型:字符串
- 重要性:高
-
connection.user
JDBC連接用戶。
- 類型:字符串
- 默認值:空
- 重要性:高
-
connection.password
JDBC連接密碼。
- 類型:密碼
- 默認值:空
- 重要性:高
-
dialect.name
該連接器應使用的數據庫方言的名稱。默認情況下爲空,並且連接器根據JDBC連接URL自動確定方言。如果要覆蓋該行爲並使用特定的方言,請使用此選項。可以使用JDBC連接器插件中所有正確包裝的方言。
- 類型:字符串
- 默認值:“”
- 有效值:[,Db2DatabaseDialect,MySqlDatabaseDialect,SybaseDatabaseDialect,GenericDatabaseDialect,OracleDatabaseDialect,SqlServerDatabaseDialect,PostgreSqlDatabaseDialect,SqliteDatabaseDialect,DerbyDatabaseDialect,SapHanaDatabaseDialect,MockDatabaseDialect,MockDatabaseDialect
- 重要性:低
寫(Writes)
-
insert.mode
要使用的插入模式。支持的模式有:
-
insert
使用標準的SQL
INSERT
語句。 -
upsert
如果連接器支持目標數據庫,請使用適當的upsert語義,例如。
INSERT OR IGNORE
-
update
如果連接器支持目標數據庫,請使用適當的更新語義,例如
UPDATE
。 -
類型:字符串
-
默認值:插入
-
有效值:[insert, upsert, update]
-
重要性:高
-
-
batch.size
指定在可能的情況下嘗試嘗試將多少記錄一起批處理以插入到目標表中。
- 類型:int
- 默認值:3000
- 有效值:[0,…]
- 重要性:中等
-
delete.enabled
是否將
null
記錄值視爲刪除。要求pk.mode
是record_key
。- 類型:布爾值
- 默認值:false
- 重要性:中等
數據映射(Data Mapping)
-
table.name.format
目標表名稱的格式字符串,其中可以包含“ $ {topic}”作爲源主題名稱的佔位符。
例如,
kafka_${topic}
對於主題“訂單”將映射到表名稱“ kafka_orders”。- 類型:字符串
- 默認值:$ {topic}
- 重要性:中等
-
pk.mode
主鍵模式,也請參考
pk.fields
文檔以瞭解相互之間的相互作用。支持的模式有:-
none
沒有使用鍵。
-
kafka
Apache Kafka®座標用作PK。
-
record_key
使用了來自記錄鍵的字段,該字段可以是基元或結構。
-
record_value
使用記錄值中的字段,該字段必須是結構。
-
類型:字符串
-
默認值:無
-
有效值:[none,kafka,record_key,record_value]
-
重要性:高
-
-
pk.fields
逗號分隔的主鍵字段名稱列表。此配置的運行時解釋取決於
pk.mode
:-
none
在此模式下,由於沒有字段被用作主鍵,因此將被忽略。
-
kafka
必須是代表Kafka座標的三項配置,
__connect_topic,__connect_partition,__connect_offset
如果爲空則默認爲。 -
record_key
如果爲空,則將使用鍵結構中的所有字段,否則將用於提取所需的字段-對於原始鍵,僅必須配置一個字段名稱。
-
record_value
如果爲空,則將使用值struct中的所有字段,否則將用於提取所需的字段。
-
類型:list
-
默認值:無
-
重要性:中等
-
-
fields.whitelist
以逗號分隔的記錄值字段名稱的列表。如果爲空,將使用記錄值中的所有字段,否則將用於過濾到所需的字段。
請注意,
pk.fields
是在目標數據庫中哪些字段構成主鍵列的上下文中獨立應用的,而此配置適用於其他列。- 類型:list
- 默認值:“”
- 重要性:中等
-
db.timezone
插入基於時間的值時,連接器應使用的JDBC時區的名稱。默認爲UTC。
- 類型:字符串
- 默認值:“ UTC”
- 有效值:任何有效的JDK時區
- 重要性:中等
DDL支持
-
auto.create
如果發現缺少目標表,將基於記錄模式自動創建目標表
CREATE
。- 類型:布爾值
- 默認值:false
- 重要性:中等
-
auto.evolve
如果發現缺少字段,將基於記錄架構,自動添加列
ALTER
。- 類型:布爾值
- 默認值:false
- 重要性:中等
-
quote.sql.identifiers
何時在SQL語句中引用表名,列名和其他標識符。爲了向後兼容,默認值爲
always
。- 類型:字符串
- 默認值:始終
- 重要性:中等
重試(Retries)
-
max.retries
任務失敗前重試錯誤的最大次數。
- 類型:int
- 默認值:10
- 有效值:[0,…]
- 重要性:中等
-
retry.backoff.ms
錯誤嘗試重試之前等待的時間(以毫秒爲單位)。
- 類型:int
- 默認值:3000
- 有效值:[0,…]
- 重要性:中等
原文
https://docs.confluent.io/5.4.0/connect/kafka-connect-jdbc/sink-connector/sink_config_options.html