指数值将在sqoop导入时加载到配置单元表中

0tdrvxhp  于 2021-06-03  发布在  Sqoop
关注(0)|答案(2)|浏览(386)

我已经将表从SQLServer导入到配置单元,而SQLServer的float字段正在转换为double到配置单元。少数数值以指数格式加载。
前任。
表中的值=10488666.667

Value loaded into Hive= 1.0488666666666666E7

另外,还有一个问题是,在同一个领域,额外的精度正在增加,
表中的示例值=3688666.6667

Value from Hive table= 3688666.6666666665

有人可以建议我如何摆脱这个问题,并将值按原样从rdbms加载到hive,因为在hive中查询会很容易。

lf3rwulv

lf3rwulv1#

不要依赖于您在jdbc客户端hiveshell上看到的内容。
查看配置单元表的hdfs中的实际数据。要检查这个,去Hive壳和火

show create table tablename

检查位置键,转到hdfs并检查实际数据。应该是一样的。

np8igboo

np8igboo2#

我以前确实遇到过这样的问题,一个简单的解决方法是在hive表中使用“string”。该系统确实投入了额外的精力来转换的飞行,然而,它应该是可以忽略不计的。

相关问题