DTStack ChunJun MySQL数据源连接器使用指南

DTStack ChunJun MySQL数据源连接器使用指南

chunjun ChunJun(唤醒)是一个基于 Flink 的实时数据同步工具。 - 提供实时数据同步、数据迁移和数据集成功能,支持多种数据源和数据目的。 - 特点:支持多种数据源和数据目的、高性能、可扩展、易于使用。 chunjun 项目地址: https://gitcode.com/gh_mirrors/ch/chunjun

一、概述

DTStack ChunJun是一款强大的数据集成工具,其中的MySQL连接器组件能够高效地从MySQL数据库中读取数据。本文将详细介绍MySQL Source连接器的功能特性、参数配置和使用方法。

二、功能特性

  1. 全量数据读取:支持从MySQL数据库批量读取全量数据
  2. 增量轮询:支持基于时间戳或自增ID的增量数据轮询机制
  3. 并行读取:可通过splitPk参数实现数据分片并行读取
  4. 自定义查询:支持通过SQL语句自定义数据查询逻辑
  5. 数据类型支持:兼容MySQL绝大多数数据类型

三、连接配置详解

1. 基础连接参数

jdbcUrl:MySQL数据库连接字符串,格式为:

jdbc:mysql://host:port/database?useSSL=false

username/password:数据库访问凭证,建议使用具有只读权限的账户

schema:指定数据库schema名称(可选)

table:需要读取的数据表名称,目前仅支持单表读取

2. 性能优化参数

fetchSize:控制每次从数据库读取的记录数,默认为1024。适当增大此值可提高读取效率,但设置过大会导致内存溢出。

splitPk:当需要并行读取时,指定用于数据分片的字段。最佳实践是选择分布均匀的主键字段。

queryTimeOut:设置查询超时时间(秒),大数据量查询时建议适当增加。

3. 数据过滤参数

where:支持SQL WHERE子句条件过滤,如:

"where": "create_time > '2023-01-01'"

customSql:自定义完整查询语句,可实现复杂查询逻辑。使用时需注意:

  • 必须明确指定返回字段
  • 不能包含非查询语句
  • 会覆盖table参数

4. 增量轮询配置

polling:设置为true开启轮询模式

pollingInterval:轮询间隔时间(毫秒),默认5000

increColumn:指定增量字段(时间戳或自增ID)

startLocation:增量起始位置,不指定则自动获取当前最大值

四、数据类型映射

MySQL数据类型与ChunJun类型的对应关系如下:

| MySQL类型 | ChunJun类型 | |-----------|------------| | 整数类型 | INT/BIGINT | | 浮点类型 | DOUBLE | | 字符串类型 | STRING | | 日期时间 | TIMESTAMP/DATE | | 二进制数据 | BLOB | | JSON | JSON |

注意:复杂类型如ARRAY、MAP等暂不支持。

五、最佳实践

1. 全量数据同步配置示例

{
  "job": {
    "content": [{
      "reader": {
        "name": "mysqlreader",
        "parameter": {
          "username": "root",
          "password": "123456",
          "connection": [{
            "jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/test"],
            "table": ["user"]
          }],
          "column": ["*"],
          "fetchSize": 2048
        }
      }
    }]
  }
}

2. 增量轮询配置示例

{
  "polling": true,
  "pollingInterval": 10000,
  "increColumn": "update_time",
  "startLocation": "2023-01-01 00:00:00"
}

3. 并行读取配置示例

{
  "speed": {
    "channel": 4
  },
  "splitPk": "id"
}

六、常见问题

  1. 内存溢出:适当减小fetchSize值,或增加JVM内存配置
  2. 增量数据重复:设置useMaxFunc为true可避免最后几条数据重复
  3. 查询超时:大数据量查询时增加queryTimeOut值
  4. 并行读取不均:选择分布均匀的分片字段

七、注意事项

  1. MySQL版本需5.x及以上
  2. 增量轮询字段建议建立索引
  3. 生产环境密码应加密处理
  4. 大数据量导出建议在业务低峰期进行

通过合理配置这些参数,您可以高效稳定地从MySQL数据库抽取数据,满足各类数据集成需求。

chunjun ChunJun(唤醒)是一个基于 Flink 的实时数据同步工具。 - 提供实时数据同步、数据迁移和数据集成功能,支持多种数据源和数据目的。 - 特点:支持多种数据源和数据目的、高性能、可扩展、易于使用。 chunjun 项目地址: https://gitcode.com/gh_mirrors/ch/chunjun

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾季为

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值