在Sqoop Import上,指数值被加载到Hive表中

时间:2016-10-14 11:02:42

标签: sql-server-2008 hive floating-point precision sqoop

我已将SQL服务器中的表导入Hive,而SQL服务器中的float字段已转换为double到hive。并且少数值以指数格式加载。

实施例

表中的值= 10488666.6666667

Value loaded into Hive= 1.0488666666666666E7

另外还有一个问题是在相同的字段中观察到了额外的精度,

实施例即可。表中的值= 3688666.66666667

     Value from Hive table= 3688666.6666666665

有人可以建议我如何摆脱这种情况并加载从RDBMS到Hive的值,因为在hive中查询会很容易。

2 个答案:

答案 0 :(得分:0)

不要依赖于您在JDBC客户端Hive shell上看到的内容。

查看hive表的HDFS中的实际数据。要检查这个,请转到蜂巢壳并开火

show create table tablename

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

答案 1 :(得分:0)

过去我确实遇到过这样的问题,一个简单的方法可以用来" String"在蜂巢表中。系统确实需要额外的努力来实时转换,但它应该可以忽略不计。