mysql生产问题总结(一)windows环境下spark2mysql插入中文乱码问题(亲自试探过)

前言:网上搜集了很多资料,又惊醒了多次试探,终于成功了。

刚开始spark插入mysql的数据格式。
在这里插入图片描述
后面按照网上一顿更改my.ini文件也还是没有改好。
在这里插入图片描述
在这里插入图片描述

1、找到C:\ProgramData\MySQL\MySQL Server 5.7下的my.ini文件,右键用Notepad++打开,修改红色框的内容。

[client]
default-character-set=gbk
[mysql]
default-character-set=gbk
[mysqld]
character-set-server=utf8
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、创建表

create table day_video_city_access_topn_stat ( day varchar(8) not null, cms_id bigint(10) not null, city varchar(50) not null, times bigint(10) not null, times_rank int not null, primary key (day, cms_id, city) );
查看表的结构以及对应字符集,这时候默认的字符集就是utf8。
在这里插入图片描述

3、配置url

设置参数 useUnicode=true&characterEncoding=UTF-8
在这里插入图片描述
最后执行插入代码,执行过程中会报以下错:
1)报错MySQLIntegrityConstraintViolationException: Duplicate entry ‘79’ for key ‘PRIMARY’
这个的意思是mysql的符合主键会有重复,因为都是20170511 4000 ?的数据,引种中文乱码,city都是?所以会造成主键重复。
2)插入mysql时遇到问题java.sql.BatchUpdateException: Incorrect string value: ‘\xF0\x9D\x94\xB9+)…’ for column ‘city’ at row
这个是因为字段的值已经超出了字段的长度的限制了。刚开始的建表时候city的varchar(10)长度太短了,更改为varchar(50)这个问题就解决了。
查询mysql数据,中文乱码的问题终于解决了。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值