(本文档仅供参考)
问题描述:
MYSQL原始表的类型是tinyint类型,原始数据该字段有(0,1,2)三个值,但是ETL读入时被转换成Boolean类型,导致用ETL导入后只剩下(0,1)两个值了,这如何解决?
解决方案:
这是由于spark对于tinyint这种类型会自动映射成boolean。可在连接地址url中带上此参数项:tinyInt1isBit=false。例:jdbc:mysql://localhost:3307/test?tinyInt1isBit=false,则在ETL中tinyint类型会映射为integer类型,导入数据可以正常识别(0,1,2)三个值。