当前位置: 首页 > 知识库问答 >
问题:

十进制值以科学记数法显示-HBase(凤凰城)

盛柏
2023-03-14

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

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

如果该字段的java数据类型是双,那么该值将以科学符号显示为“6.44443E-5”,而不是显示实际值。但是如果我使java数据类型为字符串,那么实际值将被显示。如何在没有科学符号的情况下获得实际值,java数据类型为双?

凤凰剧本

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

爪哇波乔

public class TestObject {
 private Double loginTime;
}

共有1个答案

翟渝
2023-03-14

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

 类似资料:
  • 我应该创建phoenix视图还是表来映射hbase表?如果hbase表被hbase api更新,那么phoenix视图或表会更新吗?

  • 一些基本信息如下: Hadoop2.7.1和NameNode HA enable hbase0.98.12 phoenix-4.6.0-hbase-0.98 执行sqlline.py localhost is error 执行sqlline.py localhost:nameservices/hbase is error

  • 问题内容: 我该如何显示: 十进制(‘40800000000.00000000000000’)为‘4.08E + 10’? 我已经试过了: 但是它有那些额外的0。 问题答案: 在您的“ 40800000000.00000000000000”中,有许多更重要的零,其含义与任何其他数字相同。这就是为什么您必须明确告诉您要在哪里停止的原因。 如果要自动删除所有尾随零,可以尝试:

  • 问题内容: 我正在使用Firebird数据库,正在尝试以下sql,但每次它返回0而不是0.61538(等等)。 现在,当我删除/ 26时,totalcount会返回16。但是,当我将26除后,结果显示为0,但应显示为完整的十进制值0.615384 …有人知道为什么它不返回完整值吗?我什至尝试将其包装在CAST((count(myfield)/ 26)中为double)totalcount,但它仍返

  • 我使用Phoenix SQL创建表查询创建了一个hbase表,并指定了salt_buckets。Salting将前缀添加到rowkey中。 我已经用hbase serde创建了一个外部配置单元表来映射到这个hbase表,问题是当我通过rowkey上的筛选来查询这个表时: 我的问题是如何在配置单元中的行键值上高效地查询这个表(去掉salt前缀)?