Spark SQL读取Oracle的number类型的数据时精度丢失问题

Spark SQL读取数据Oracle的数据时,发现number类型的字段在读取的时候精度丢失了,使用的spark版本是Spark2.1.0的版本,竟然最后经过排查和网上查资料发现是一个bug。在Spark2.1.2以上的版本解决了这个问题。

number类型的数据通过spark sql的jdbc读取的时候回变成DecimalType的类型。同时精度不会丢失,在2.1.2版本之前读取过来是IntType类型的。

Spark issues列表:

Spark SQL读取Oracle的number类型的数据时精度丢失问题

通过JDBC读取Oracle数据打印的DataFrame的Schema信息:

Spark SQL读取Oracle的number类型的数据时精度丢失问题

上一篇:Java之品优购课程讲义_day06(7)


下一篇:[转载]FileStream读写文件