是否可以显示实际的十进制值,而不是在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;
}
答案 0 :(得分:1)
使用java数据类型java.math.BigDecimal而不是java.lang.Double解决了该问题。使用BigDecimal之后,HBase将使用实际值而不是科学计数法填充。