我有两个配置单元表,其中在表1和表2中将连接列“ A”定义为十进制(32,0),它们的ID长度均为25位,例如1558197467417188188007491210。 在我的代码中,当我使用spark sql在这两个表之间进行联接时,它不是基于所有25位数字进行联接,而是根据两个表之间的前20位数字对id进行联接,并提供了错误的结果。
在连接之前,当我将两个表的两个列“ A”都转换为字符串和连接时,它为我提供了预期的结果。
在Scala 2.11.8版中使用大数字时,联接是否存在任何问题?
表1
A列
155819746741718800749 1210
表2
A列
155819746741718800749 1210
155819746741718800749 1320
INNER加入后的预期结果
数据框1
A列
155819746741718800749 1210
但是在INNER连接之后出现的错误结果是(使用十进制时)
数据框1
A列
155819746741718800749 1210
155819746741718800749 1320