【Spark 写入 MySQL 乱码问题】1:检查你的mysql的编码,笔者建议都调整为UTF-8(这一步很简单不多说了就),还有就是保证你的数据源的编码,可以先show一下看看是否是乱码,然后再继续进行。
2:检查你的插入语句:
val prop = new java.util.Properties
prop.setProperty("user", "root")
prop.setProperty("password", "123456")city.write.mode(SaveMode.Append).jdbc("jdbc:mysql://localhost:3306/keven?useUnicode=true&characterEncoding=utf8", "city_level", prop)
加上这个:
?useUnicode=true&characterEncoding=utf8
问题解决。
为了防止小白不清楚我再写一种方式:
"jdbc:mysql://localhost:3306/keven?user=root&useUnicode=true&characterEncoding=utf8&password=123456")
到此问题基本上应该是可以解决了
推荐阅读
- spark|spark UDAF根据某列去重求合 distinct sum
- 大数据|spark UDAF 自定义聚合函数 UserDefinedAggregateFunction 带条件的去重操作
- SCD|一种基于SparkSQL的Hive数据仓库拉链表缓慢变化维(SCD2+SCD1)的示例实现
- spark算子--action篇
- 大数据|Spark调优解决方案(一)之提交任务时合理分配资源
- spark|spark2.1 新特性
- Spark Aggregate算子