热门标签 | HotTags
当前位置:  开发笔记 > 大数据 > 正文

Java中的double精度,sqoop从Oracle导出到Hive

项目进行了大半后发现悲剧了,利用sqoop默认的从oracle数据库到处的数据表,如果其中的数据精度大于15位,而导入的表有些字段默认

项目进行了大半后发现悲剧了,利用sqoop默认的从oracle数据库到处的数据表,如果其中的数据精度大于15位,而导入的表有些字段默认

项目进行了大半后发现悲剧了,利用sqoop默认的从Oracle数据库到处的数据表,如果其中的数据精度大于15位,而导入的表有些字段默认的是double类型,结果导致大于16的数导入到了hive中,查询时只有15位的精度,悲哀啊,,切记。

相关阅读:

基于Hadoop集群的Hive安装

Hive内表和外表的区别

Hadoop + Hive + Map +reduce 集群安装部署

Hive本地独立模式安装

Hive学习之WordCount单词统计

public class HelloWorld {


public static void main(String args[]){
// double dou = 9813113054842628;
String s = "9813113054842628";
System.out.println(Double.valueOf(s));

String s1 = "9813113054842627";
System.out.println(Double.valueOf(s1));


}
}

输出结果

9.813113054842628E15

9.813113054842628E15

原因是oracle的Number精度大于java中的double类型。

Hive 的详细介绍:请点这里
Hive 的下载地址:请点这里


推荐阅读
author-avatar
中凱kai
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有