【问题标题】:decimal value is displayed in scientific notation - HBase (Phoenix)十进制值以科学计数法显示 - HBase (Phoenix)
【发布时间】:2019-02-20 11:48:39
【问题描述】:

是否可以在 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;
}

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 2011-10-18
      • 1970-01-01
      相关资源
      最近更新 更多