Rumah > pangkalan data > tutorial mysql > Java中的double精度,sqoop从Oracle导出到Hive

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

WBOY
Lepaskan: 2016-06-07 16:47:59
asal
1702 orang telah melayarinya

项目进行了大半后发现悲剧了,利用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 的下载地址:请点这里

本文永久更新链接地址:

linux

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan