如何从 Hbase 访问 Phoenix table

How to access Phoenix table from Hbase

我正在尝试从 Hbase 访问通过 Phoenix 创建的 table。我能够读取字符串值,但无法读取小数 values.For 例如,DECIMAL_PLACE_CNT 的实际值为 6 但从 hbase shellit 显示 value=\xC1\x07
我怎样才能将它推回到 6?

get 'ODS.CCY',"\x00ANG"
COLUMN                                   CELL
 0:CCY_CTRY_CD                           timestamp=1470245652652, value=NL
 0:CCY_DESC                              timestamp=1470245652652, value=NETHERLANDS ANTILLIAN GUILDER
 0:CCY_RVSE_IND                          timestamp=1470245652652, value=N
 0:DECIMAL_PLACE_CNT                     timestamp=1470245652652, value=\xC1\x07

here 所述,当定义类型为 DECIMAL 的列时,Phoenix 会将值映射到 java.math.BigDecimal
当向 Hbase 写入值时,Phoenix 将使用 org.apache.phoenix.schema.types.PDataType.toBytes 序列化 java.math.BigDecimal 的值。该方法源码为here,具体位置可搜索static int toBytes.