为啥感觉各个公司的hbase的rowkey都是字符串转字节流存入呢?

chummyhe89 2014-09-17 03:31:36
例如messageid 是long型(3745653847163839),时间戳long型 (1410938669000)
rowkey :messageid_时间戳
方法一、 3745653847163839_1410938669000 这样子的rowkey会占用30字节
方法二、把messageid和时间戳从long转成字节数组在存入只会占用17字节,不是更节省了存储空间么?

为啥大家都舍弃第二种方法呢?
...全文
1499 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pww71 2016-01-12
  • 打赏
  • 举报
回复
你看看这个文章 http://blog.csdn.net/pww71/article/details/25113303
夜无边CN 2016-01-11
  • 打赏
  • 举报
回复
引用 楼主 chummyhe89 的回复:
例如messageid 是long型(3745653847163839),时间戳long型 (1410938669000) rowkey :messageid_时间戳 方法一、 3745653847163839_1410938669000 这样子的rowkey会占用30字节 方法二、把messageid和时间戳从long转成字节数组在存入只会占用17字节,不是更节省了存储空间么? 为啥大家都舍弃第二种方法呢?
方法二:1、那个下划线是不是必须的。转成long类型,下划线怎么处理。 2、messageid和时间戳从long转成字节数组 怎么拼接,怎么反序列化,怎么搜索。
wuhen222 2016-01-09
  • 打赏
  • 举报
回复
同问。。。可以直接把Long型转成字节数组穿进去吗,更省空间?
chummyhe89 2014-09-23
  • 打赏
  • 举报
回复
没人解惑么??
chummyhe89 2014-09-17
  • 打赏
  • 举报
回复
@tntzbzc 能圈大boss出来么?
chummyhe89 2014-09-17
  • 打赏
  • 举报
回复
引用 1 楼 wulinshishen 的回复:
HBase的Put操作put.add(byte[] family, byte[] qualifier, byte[] value) 这里传的就是字节
但是也可以把 long转换成byte[]传进去啊。而不是Bytes.toBytes(String.valueOf(long))
  • 打赏
  • 举报
回复
HBase的Put操作put.add(byte[] family, byte[] qualifier, byte[] value) 这里传的就是字节

20,807

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧