如何从hbase访问phoenix表

3wabscal  于 2021-06-10  发布在  Hbase
关注(0)|答案(1)|浏览(501)

我正在尝试从hbase访问通过phoenix创建的表。我可以读取字符串值,但不能读取十进制值。例如,decimal\u place\u cnt的实际值为6,但从hbase shell显示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
jjjwad0x

jjjwad0x1#

如本文所述,当定义类型为的列时 DECIMAL ,phoenix将值Map到 java.math.BigDecimal .
将值写入hbase时,phoenix将序列化 java.math.BigDecimal 使用 org.apache.phoenix.schema.types.PDataType.toBytes . 此方法的源代码在这里,通过搜索可以找到准确的位置 static int toBytes .

相关问题