Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 十进制值以科学记数法显示-HBase(Phoenix)_Java_Apache Spark_Hbase_Phoenix_Scientific Notation - Fatal编程技术网

Java 十进制值以科学记数法显示-HBase(Phoenix)

Java 十进制值以科学记数法显示-HBase(Phoenix),java,apache-spark,hbase,phoenix,scientific-notation,Java,Apache Spark,Hbase,Phoenix,Scientific Notation,在HBase Shell中是否可以显示实际的十进制值,而不是以科学符号显示 通过下面提到的Phoenix脚本创建了HBase表。通过java中的Spark作业将数据(“loginTime”:0.00006444)填充到此HBase表(通过phoenix脚本创建) 如果此字段的java数据类型为Double,则该值将以科学表示法显示为“6.443E-5”,而不是显示实际值。但是,如果我将java数据类型设置为String,则会显示实际值。如果java数据类型为Double,那么如何在没有科学表示法

在HBase Shell中是否可以显示实际的十进制值,而不是以科学符号显示

通过下面提到的Phoenix脚本创建了HBase表。通过java中的Spark作业将数据(“loginTime”:0.00006444)填充到此HBase表(通过phoenix脚本创建)

如果此字段的java数据类型为Double,则该值将以科学表示法显示为“6.443E-5”,而不是显示实际值。但是,如果我将java数据类型设置为String,则会显示实际值。如果java数据类型为Double,那么如何在没有科学表示法的情况下获得实际值

凤凰脚本

CREATE TABLE IF NOT EXISTS "LOGIN_TABLE"(recordId VARCHAR,
"FACTS"."loginTime" VARCHAR,
CONSTRAINT "LOGIN_TABLE_PK" Primary Key(recordId)) SALT_BUCKETS = 4
Java Pojo

public class TestObject {
 private Double loginTime;
}

使用java数据类型java.math.BigDecimal而不是java.lang.Double解决了这个问题。使用BigDecimal后,HBase将使用实际值而不是科学符号填充