Kafka Connect相关插件配置文档之十

202 阅读4分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Kafka Connect相关插件配置文档之一

Kafka Connect相关插件配置文档之二

Kafka Connect相关插件配置文档之三

Kafka Connect相关插件配置文档之四

Kafka Connect相关插件配置文档之五

Kafka Connect相关插件配置文档之六

Kafka Connect相关插件配置文档之七

Kafka Connect相关插件配置文档之八

Kafka Connect相关插件配置文档之九

3.6 环境准备

  • Kafka和Schema Registry在默认端口上本地运行
  • mysql可以远程访问
  • 插件安装同上HDFS Sink安装方式

3.7 Configuration Properties

3.7.1配置类

要使用此连接器,请在connector.class配置属性中指定连接器类的名称。

connector.class=io.confluent.connect.jdbc.JdbcSinkConnector

连接器特定的配置属性如下所述。

3.7.2 数据库连接安全

在连接器配置中,您会注意到没有安全参数。这是因为SSL不属于JDBC标准,而是取决于所使用的JDBC驱动程序。通常,您需要通过connection.url参数配置SSL 。例如,对于MySQL,它看起来像:

connection.url="jdbc:mysql://127.0.0.1:3306/sample?verifyServerCertificate=false&useSSL=true&requireSSL=true"

请查阅有关支持和配置的特定JDBC驱动程序文档。

3.7.3 Connection

connection.url

JDBC连接URL。

  • 类型:字符串
  • 重要性:高
connection.user

JDBC连接用户。

  • 类型:字符串
  • 默认值:空
  • 重要性:高
connection.password

JDBC连接密码。

  • 类型:密码
  • 默认值:空
  • 重要性:高
dialect.name

该连接器应使用的数据库方言的名称。默认情况下为空,并且连接器根据JDBC连接URL自动确定方言。如果要覆盖该行为并使用特定的方言,请使用此选项。可以使用JDBC连接器插件中所有正确包装的方言。

  • 类型:字符串
  • 默认值:“”
  • 有效值:[,Db2DatabaseDialect,MySqlDatabaseDialect,SybaseDatabaseDialect,GenericDatabaseDialect,OracleDatabaseDialect,SqlServerDatabaseDialect,PostgreSqlDatabaseDialect,SqliteDatabaseDialect,DerbyDatabaseDialect,SapHanaDatabaseDialect,MockDatabaseDialect,MockDatabaseDialect
  • 重要性:低

3.7.4 Writes

insert.mode

要使用的插入模式。支持的模式有:

  • insert

    使用标准的SQL INSERT语句。

  • upsert

    如果连接器支持目标数据库,请使用适当的upsert语义,例如。INSERT OR IGNORE

  • update

    如果连接器支持目标数据库,请使用适当的更新语义,例如UPDATE

  • 类型:字符串

  • 默认值:插入

  • 有效值:[插入,向上插入,更新]

  • 重要性:高

batch.size

指定在可能的情况下尝试将多少记录一起批处理以插入到目标表中。

  • 类型:int
  • 默认值:3000
  • 有效值:[0,…]
  • 重要性:中等
delete.enabled

是否将null记录值视为删除。要求pk.moderecord_key

  • 类型:布尔值
  • 默认值:false
  • 重要性:中等

3.7.5 Data Mapping

table.name.format

目标表名称的格式字符串,其中可以包含“ $ {topic}”作为源主题名称的占位符。

例如,kafka_${topic}对于主题“订单”将映射到表名称“ kafka_orders”。

  • 类型:字符串
  • 默认值:$ {topic}
  • 重要性:中等
pk.mode

主键模式,也请参考pk.fields文档以了解交互作用。支持的模式有:

  • none

    没有使用键。

  • kafka

    ApacheKafka®坐标用作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中的所有字段,否则将提取所需的字段。

  • 类型:清单

  • 默认值:无

  • 重要性:中等

fields.whitelist

以逗号分隔的记录值字段名称的列表。如果为空,将使用记录值中的所有字段,否则将用于过滤到所需的字段。

请注意,pk.fields在哪个字段在目标数据库中构成主键列的上下文中独立应用,而此配置适用于其他列。

  • 类型:清单
  • 默认值:“”
  • 重要性:中等
db.timezone

插入基于时间的值时,连接器应使用的JDBC时区的名称。默认为UTC。

  • 类型:字符串
  • 默认值:“ UTC”
  • 有效值:任何有效的JDK时区
  • 重要性:中等