场景
Spark 读取 MySQL 数据写入Hive。
MySQL 中存在字段类型为 tinyint(1) 。
Spark读取结果为
写入Hive 后,结果为 0 和 1,除了 0 以外数值都为1。
原因
MySQL 中 Boolean 的类型为 tinyint(1),1 表示true,0 表示 false。即 boolean = tinyint(1)。
解决
1. 修改MySQL字段,增加 tinyint 位数。
2. 如果不方便修改数据库,Url 中添加 &tinyInt1isBit=false