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

时间:2019-02-20 11:48:39

标签: java apache-spark hbase phoenix scientific-notation

是否可以显示实际的十进制值,而不是在HBase Shell中以科学计数法显示?

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

如果此字段的Java数据类型为 Double ,则该值将以科学计数法显示为“ 6.44443E-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;
}

1 个答案:

答案 0 :(得分:1)

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