我已经将表从SQLServer导入到配置单元,而SQLServer的float字段正在转换为double到配置单元。少数数值以指数格式加载。
前任。
表中的值=10488666.667
Value loaded into Hive= 1.0488666666666666E7
另外,还有一个问题是,在同一个领域,额外的精度正在增加,
表中的示例值=3688666.6667
Value from Hive table= 3688666.6666666665
有人可以建议我如何摆脱这个问题,并将值按原样从rdbms加载到hive,因为在hive中查询会很容易。
2条答案
按热度按时间lf3rwulv1#
不要依赖于您在jdbc客户端hiveshell上看到的内容。
查看配置单元表的hdfs中的实际数据。要检查这个,去Hive壳和火
检查位置键,转到hdfs并检查实际数据。应该是一样的。
np8igboo2#
我以前确实遇到过这样的问题,一个简单的解决方法是在hive表中使用“string”。该系统确实投入了额外的精力来转换的飞行,然而,它应该是可以忽略不计的。