hbase 不像传统数据库.区别主要是
orcl 里面 建表 要指定多少列,数据类型 等.
hbase 里面 也有建表的概念,但是只不过定义了一个表名,里面的列是不定义的.任何数据都可以往表里面塞,换句话,如果我忘记了 塞了什么,都没地方去查.这样会导致表会无限膨胀,而且没人指定表里面有什么.所以nosql数据库 都设置了生命周期, 多少时间自动回收空间.
那么塞进去的,要取出来就只能靠rowkey.
你把rowkey告诉别人,别人才能取数.
比如 下面这个
concat(concat(substr(MD5(concat(coalesce(acty_id,''),'93020')),1,4),':md5'),'\004',acty_id,':acty\004','93020:app\004',acty_id_p,':actyp\004',bc_type,':biz\004','dhr:','${date}${hour}','\004',seller_id,':seller') as rowkey
93020 是app_id ,
这个key是由 app_id,acty_id,acty_id_p,bc_type,dhr,seller_id 等组成的.
换句话,这些东西可以定义 row的唯一性,并且提供了给你select的条件.
\004 是分隔符
这个列的第一搜索条件是app_id(93020),第二搜索条件是dhr,然后是seller_id,,然后依次是bc_type,acty_id_p,acty_id,
但是rowkey的设计并不是按照 先app,然后时间,seller来的.
原因是为了打散数据.
一个表可能有多个app,也有可能只有一个app.
如果把app现在前面
rowkey 应该是 app+时间+卖家id+卖家的属性.
那么select的时候 先回扫所有的app=1的数据,然后再扫,时间=你要的时间,再扫卖家id.
这样效率太低了.
先把 活动id+app 作md5 就是为了打散这些数据,然他存在不同的地方.为啥不用 app+活动id 作md5,也是这个原因.app肯定是比活动少的.用app+活动id 的效果没有 活动id+app 的好.
打散了以后, 因为我的业务逻辑不是要具体定位那个seller. 而是要 参加了活动的,(子活动+主活动),各种类型的卖家,在某个时间段的 所有卖家.
所有接下来就应该按照我的需求,把app,活动id,父活动id,带上.
注意 别的都是v+key. 如果 acty_id,':acty\004'
而到了 时间这里 是 'dhr:','${date}${hour}',
原因是,别的这么设计就是为了打散数据,而时间的话,需要给他一个标志位,定位时间节点.
相关推荐
HBase的模式Schema设计的一些概念和原则 5 1)模式的创建与更新 5 2)列族的数量 6 3)行键设计RowKey 6 5. HBase的拓扑结构是什么? 7 1)拓扑结构 7 2)HBase与ZooKeeper的关系是什么? 7 3)HBase的内部结构管理...
hbase原理和设计,包括二级索引,rowkey设计,常见的坑.
hbase的Rowkey设计⽅案 1.1 hbase的概述 的概述 HBase由于其存储和读写的⾼性能,在OLAP即时分析中越来越发挥重要的作⽤。作为Nosql数据库的⼀员,HBase查询只能通过其 Rowkey来查询(Rowkey⽤来表⽰唯⼀⼀⾏记录),...
nosql实验二-HBase的表结构设计
│ Day15[Hbase 基本使用及存储设计].pdf │ ├─02_视频 │ Day1501_Hbase的介绍及其发展.mp4 │ Day1502_Hbase中的特殊概念.mp4 │ Day1503_Hbase与MYSQL的存储比较.mp4 │ Day1504_Hbase部署环境准备.mp4 │ Day...
默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。 一种可以加快批量写入速度的方法是通过预先创建一些...
HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase是Google Bigtable的开源实现,类似Google Bigtable...
某大数据公司内部Hbase性能测试详细设计文档及用例 罗列了Hbase性能测试需要注意的一些参数设置,给出了Hbase测试用例
这本书对于想学习大数据Hbase的程序爱好者非常有用,深入介绍了从Hbase原理、生态圈到项目中架构设计和相关问题优化的各方面
hbase-sdk是基于hbase-client和hbase-thrift的原生API封装的一款轻量级的HBase ORM框架。 针对HBase各版本API(1.x~2.x)间的差异,在其上剥离出了一层统一的抽象。并提供了以类SQL的方式来读写HBase表中的数据。对...
该文档是介绍hbase的rowkey设计与hbase的协处理器运用,与大家分享!
本资源为hbase的安装和使用,内含hbase安装工具包,hbase的安装说明,hbase的使用说明 。
奇虎360 HBASE 二级索引的设计与实践 pdf 完整版
hbase备份和数据恢复,hbase与hive的互导,hbase和hdfs互导。
java 利用 sping-data-hadoop HbaseTemplate 操作hbase find get execute 等方法 可以直接运行
HBase的操作和编程.pdf HBase Cpressr优化与实验 郭磊涛.pdf null【HBase】Data Migratin frm Gri t Clu Cmputing - Natural Sienes .pdf 分布式数据库HBase快照的设计与实现.pdf 【HBase】Distribute Strage f ...
搭建pinpoint需要的hbase初始化脚本hbase-create.hbase
详细介绍了HBASE如何与关系型数据mysql结合,以及自己设计MYISAM数据库引擎
hbase 数据模型,表结构设计 。。。。。。。。。。。。。。。。。。。。。。。
hadoop jar /usr/lib/hbase/hbase-0.90.4-cdh3u3.jar importtsv -Dimporttsv.columns=HBASE_ROW_KEY, catgyname,catgyid1,catgyname1,catgyid2,catgyname2,catgyid3,catgyname3,catgyid4,catgyname4,catgyid5,...