我将每个列值编码为字符串,以便使用以下命令在hbase中加载数据:
put.add("columnFamily".getBytes(), new String(columnName).getBytes(), new String(value).getBytes())
所以我才有例外
java.lang.IllegalArgumentException: offset (0) + length (4) exceed the capacity of the array: 1
在读取数据时,因为其中一列具有浮点值(如果我没有弄错的话)。像这样的方法很少 org.apache.hadoop.hbase.util.Bytes.toBytes(float)
但我不知道怎么做。
有人能告诉我如何对float/double/integer值进行编码,以便进一步从hbase读取数据时不会出现相同的异常吗?任何帮助都将不胜感激。
1条答案
按热度按时间u59ebvdq1#
您可以执行以下操作:
以上将以字节格式保存hbase表中的数字,如果您想以字符串格式保存数字,可以添加
toString
至intNumber
就像下面一样