sink
JDBC Sink
The JDBC sink connector pulls messages from Pulsar topics and persists the messages to MySQL or SQlite.
Authored by
ASF
Support type
StreamNative
License
Apache License 2.0

The JDBC sink connector pulls messages from Pulsar topics and persists the messages to MySQL or SQlite.

Currently, INSERT, DELETE and UPDATE operations are supported.

Configuration

The configuration of the JDBC sink connector has the following properties.

Property

NameTypeRequiredSensitiveDefaultDescription
userNameStringfalsetrue" " (empty string)The username used to connect to the database specified by jdbcUrl.<br><br>Note: userName is case-sensitive.
passwordStringfalsetrue" " (empty string)The password used to connect to the database specified by jdbcUrl. <br><br>Note: password is case-sensitive.
jdbcUrlStringtruefalse" " (empty string)The JDBC URL of the database to which the connector connects.
tableNameStringtruefalse" " (empty string)The name of the table to which the connector writes.
nonKeyStringfalsefalse" " (empty string)A comma-separated list contains the fields used in updating events.
keyStringfalsefalse" " (empty string)A comma-separated list contains the fields used in where condition of updating and deleting events.
timeoutMsintfalsefalse500The JDBC operation timeout in milliseconds.
batchSizeintfalsefalse200The batch size of updates made to the database.

Example

Before using the JDBC sink connector, you need to create a configuration file through one of the following methods.

  • JSON

    {
        "userName": "root",
        "password": "jdbc",
        "jdbcUrl": "jdbc:mysql://127.0.0.1:3306/pulsar_mysql_jdbc_sink",
        "tableName": "pulsar_mysql_jdbc_sink"
    }
    
  • YAML

    configs:
        userName: "root"
        password: "jdbc"
        jdbcUrl: "jdbc:mysql://127.0.0.1:3306/pulsar_mysql_jdbc_sink"
        tableName: "pulsar_mysql_jdbc_sink"
    

Usage

For more information about how to use a JDBC sink connector, see connect Pulsar to MySQL.