HBase介绍
- Apache的三篇论文,GFS谷歌文件系统->HDFS;MR -> MR ; BigTable ->HBase;
- HBase是hadoop数据库,一种分布式、可扩展的大数据NoSQL数据库之一。
- 适合对于
大量数据
进行随机、实时
的读写操作
HBase数据模型
- Bigtable是一个稀疏的(如果某个列没有值,那么这个列直接不维护,传统的关系型数据库会维护一个null值)、分布式的、持久的多维(维度信息主要保存在key中,value一般是单纯的值)排序map
- 改映射由行键、列键和时间戳索引组成;映射的每个值都是一个字节数组。
- 用户将数据行存储在带标签的表中,数据行具有
可排序
的键和任意数量
的列。 - 数据模型的关键在于稀疏、分布式、多维、排序的映射
HBase逻辑结构
HBase物理存储结构
数据模型术语
- NameSpace命名空间
- Table: 定义表时只需要声明列族即可,具体的列可以动态、按需指定
- Row: 由一个RowKey和多个Column组成,数据是按照rowkey的字典序存储的,查询数据只能根据rowkey检索,所以rowkey的设计十分重要。
- Column: 列族:列
- Time Stamp: 用于标识数据的不同版本
- Cell = rowkey + column family + column qualifier + timestamp 唯一确定的单元
HBase基础架构
HBase的安装
- 配置环境变量
- vim hbase–env.sh, 126行,改为用外置的zookeeper。
- vim hbase–site.xml文件,改为分布式集群,告诉集群zookeeper的地址,数据存储位置,wal(写前日志)
- 端口号默认为16010
时间同步问题
HBase Shell基本操作
- hbase shell, 启动一个hbase shell
- help 命令名/ 组名 查看所有命令
- ddl命令
- namespace命令
- 查看所有的namespace: list_namespace
- 查看指定namespace下面的表:list_namespace_tables ‘hbase’; 里面有meta和namespace两张表
- 创建一个数据库:create_namespace ‘mydb’
- 查看数据库详情:descrbe_namespace ‘mydb’
- 修改namespace: alter_namespace ‘mydb1’ , {method = ‘set’, ‘author’=>‘wyh’}
- 删除namespace属性: alter_namespace ‘mydb1’ ,{method=‘unset’, name=>‘author’}
- dml命令(数据的增删改查 )
原文地址:https://blog.csdn.net/qq_44273739/article/details/134681252
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_31132.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。