flink sql 13.2 读取与写入数据库的报错(踩坑)

  • [flink sql sink mysql 没有数据写入或数据写入中文乱码或报useSSL](#flink sql sink mysql 没有数据写入或数据写入中文乱码或报useSSL)
  • [flink sql source mysql 任务执行正常没有任何报错信息(构建 Flink LookUp 表 的踩坑历程)](#flink sql source mysql 任务执行正常没有任何报错信息(构建 Flink LookUp 表 的踩坑历程))

flink sql sink mysql 没有数据写入或数据写入中文乱码或报useSSL

connector 如下:

sql 复制代码
'connector' = 'jdbc',
'url' = 'jdbc:mysql://localhost:3306/dbname?characterEncoding=utf8&useSSL=false',
'table-name' = 'tablename',
// 'driver' = 'com.mysql.cj.jdbc.Driver',
'username' = 'username',
'password' = 'pwd'

1、useSSL=false:解决 ssl 问题

2、characterEncoding=utf8:解决中文乱码问题

3、驱动不一致会导数数据无法写入,注释驱动,让flink自动推断即可

flink sql source mysql 任务执行正常没有任何报错信息(构建 Flink LookUp 表 的踩坑历程)

mysql 建表语句

sql 复制代码
CREATE TABLE `sku_test_upsert` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '库存id(itemID)',
  `price` decimal(10,0) DEFAULT NULL COMMENT '价格',
  `sku_name` varchar(200) DEFAULT NULL COMMENT 'sku名称',
  `category3_id` bigint(20) DEFAULT NULL COMMENT '三级分类id(冗余)',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='库存单元表'

flink sql source jdbc 错误的建表语句

sql 复制代码
CREATE TABLE sku_test_upsert(
id bigint ,
price bigint  ,
sku_name STRING ,
category3_id bigint, 
PRIMARY KEY(id) NOT ENFORCED
) WITH (
'connector' = 'jdbc',
'url' = 'jdbc:mysql://localhost:3306/dbname?useSSL=false',
'table-name' = 'sku_test_upsert',
'username' = 'username',
'password' = 'pwd'
)

错误的地方是price 字段的数据类型是bigint ,要改成decimal(10,2) 类型 才能正常查询数据,最坑的是没有任何的报错信息提示
备注:要非常关注字段的数据类型映射是否正确,这个可能会影响能否查询数据的关键,没提示任何报错,此点非常坑

flink sql source jdbc 正确的建表语句:

sql 复制代码
CREATE TABLE sku_test_upsert(
id bigint ,
price decimal(10,2) ,
sku_name STRING ,
category3_id bigint, 
PRIMARY KEY(id) NOT ENFORCED
) WITH (
'connector' = 'jdbc',
'url' = 'jdbc:mysql://localhost:3306/dbname?useSSL=false',
'table-name' = 'sku_test_upsert',
'username' = 'username',
'password' = 'pwd'
)
相关推荐
Hello.Reader3 小时前
RedisJSON 路径语法深度解析与实战
数据库·redis·缓存
TDengine (老段)3 小时前
TDengine 使用最佳实践(2)
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
Jackyzhe6 小时前
Flink学习笔记:整体架构
笔记·flink
设计师小聂!6 小时前
Linux系统中部署Redis详解
linux·运维·数据库·redis
kfepiza6 小时前
Debian-10编译安装Mysql-5.7.44 笔记250706
linux·数据库·笔记·mysql·debian·bash
Touper.6 小时前
Redis 基础详细介绍(Redis简单介绍,命令行客户端,Redis 命令,Java客户端)
java·数据库·redis
不剪发的Tony老师6 小时前
phpMyAdmin:一款经典的MySQL在线管理工具又回来了
数据库·mysql·phpmyadmin
极限实验室6 小时前
TDBC 2025 可信数据库发展大会,极限科技邀您来赴约!
数据库
小菜鸡06267 小时前
FlinkSQL通解
大数据·flink
lixia0417mul28 小时前
使用Starrocks替换Clickhouse的理由
数据库