码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • flink sql 13.2 读取与写入数据库的报错(踩坑)


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

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

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

    connector 如下:

    '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
    • 2
    • 3
    • 4
    • 5
    • 6

    1、useSSL=false:解决 ssl 问题
    2、characterEncoding=utf8:解决中文乱码问题
    3、驱动不一致会导数数据无法写入,注释驱动,让flink自动推断即可

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

    mysql 建表语句

    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='库存单元表'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    flink sql source jdbc 错误的建表语句

    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'
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

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

    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'
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    国资云来了,企业邮箱如何助力数据安全?
    Controller Area Network(CAN)简介
    Java IO:同步阻塞和装饰器模式详解
    算法27:最长公共子序列——样本模型(4)
    Java核心篇,二十三种设计模式(二十一),行为型——策略模式
    编译xlnt开源库源码, 使用c++读写excel文件
    小白学python系列————【Day45】面向对象魔法方法及元类详细
    labview 创建 00 到 FF 连续数据流
    【算法刷题日记之本手篇】完全数计算与扑克牌大小
    【论文浅尝】Phi-3-mini:A Highly Capable Language Model Locally on Your Phone
  • 原文地址:https://blog.csdn.net/a123147abc/article/details/132792885
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号