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'
)
相关推荐
xhbh66614 分钟前
MySQL数据导出避坑指南:如何选择正确的工具并设计安全的备份策略?
数据库·mysql·oracle·程序员·mysql导出数据库
幻奏岚音19 分钟前
《数据库系统概论》第一章 初识数据库
数据库·算法·oracle
蜗牛~turbo26 分钟前
金蝶云星空 调价表取历史价格
java·数据库·sql·c#·database
jc062033 分钟前
4.1-中间件之Redis
数据库·redis·中间件
Elastic 中国社区官方博客34 分钟前
介绍 Python Elasticsearch Client 的 ES|QL 查询构建器
大数据·开发语言·数据库·python·elasticsearch·搜索引擎·全文检索
TG_yunshuguoji1 小时前
阿里云国际代理:云数据库RDS及上云方案
服务器·数据库·阿里云·云计算
FOLLOW ME3111 小时前
MySQL集群高可用架构
数据库·mysql·架构
TG_yunshuguoji1 小时前
阿里云国际代理:稳定、高效、便捷的数据库服务-云数据库RDS
运维·服务器·数据库·阿里云·云计算
danns8882 小时前
neo4j数据库创建范例(SQL文)
数据库·sql·neo4j
不爱洗脚的小滕2 小时前
【Redis】Scan 命令使用教程:高效遍历海量数据
数据库·redis·bootstrap