gpt4 book ai didi

java - 为什么HBase RowKey、ColumnKey和value是二进制值(字节),而不是String?

转载 作者:可可西里 更新时间:2023-11-01 16:31:35 26 4
gpt4 key购买 nike

HBase 值由 4 个键索引:TableNameRowKey , 列键, 时间戳

地点:

  • TableName 是一个字符串
  • RowKeyColumnKey 是二进制值(Java 类型byte[])
  • Timestamp是一个64位整数(Java类型long)
  • value 是一个未解释的字节数组(Java™ 类型 byte[])

二进制数据以 Base64 编码以通过网络传输。

为什么键和值使用字节而不是字符串存储?

最佳答案

因为您可能需要在限定符和值中存储二进制数据。例如,我们有这样的前缀限定符:'prefix[binary int64 id]' 并将序列化的 protobuf 作为值。您可以使用 ColumnPrefixFilter 来获取这些值。在其他情况下,我们有一个列族 'i' 限定符 'binary 64int id' 和值二进制值。所以这个列族中的所有限定符都是二进制的,你可以只扫描这个族。

关于java - 为什么HBase RowKey、ColumnKey和value是二进制值(字节),而不是String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29341588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com