hbase创建表_结构化储存数据库——HBase

6177c1c3c32458aa023a6904d6209f58.png

概述

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统"。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。

4aaeef4553bfbbfc45d354033021345d.png

搭建环境

部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放Hadoop等组件运行包。因为该目录用于安装hadoop等组件程序,用户对shiyanlou必须赋予rwx权限(一般做法是root用户在根目录下创建/app目录,并修改该目录拥有者为shiyanlou(chown –R shiyanlou:shiyanlou /app)。

Hadoop搭建环境:

l 虚拟机操作系统: CentOS6.6 64位,单核,1G内存

l JDK:1.7.0_55 64位

l Hadoop:1.1.2

HBase特性

  • 强读写一致性:适合高速计数聚合操作
  • 自动切分数据:分布式存储数据,随着数据增长进行自动切片
  • RegionServer自动失效备援
  • 与HDFS集成
  • 支持MapReduce执行大规模并行操作
  • 提供Java Client API
  • 提供Thrift/REST API
  • 针对大容量查询优化的块缓存和Bloom Fliter
  • 可视化管理界面

劣势

  • WAL的重新执行速度缓慢
  • 故障恢复缓慢且复杂
  • 主压缩会引起 I/O风暴

HBase使用场景

  • 互联网搜索问题:爬虫收集网页,存储到BigTable里,MapReduce计算作业扫描全表生成搜索索引,从BigTable中查询搜索结果,展示给用户。
  • 抓取增量数据:例如,抓取监控指标,抓取用户交互数据,遥测技术,定向投放广告等
  • 内容服务
  • 信息交互
9d8f057cbdd8926440fed6603e5a74db.png

HBase Shell命令行交互

启动Shell $ hbase shell

列出所有的表 hbase > list

创建名为mytable的表,含有一个列族hb hbase > create ' mytable' , 'hb'

在‘mytable’表的'first'行中的‘hb:data’列对应的数据单元中插入字节数组‘hello HBase’

hbase > put 'mytable' , 'first' , 'hb:data' , 'hello HBase'

读取mytable表 ‘first’行的内容 hbase > get 'mytable' , 'first'

读取mytable表所有的内容 hbase > scan ‘mytable'

8f2ab41133b82ed529ca504f99e1ebaa.png

示例

  • HBase的RowKey设计

电信公司rowKey设计实例:

0.区域划分:划分100个区域,从00到99

CallerId + 201703 :hashcode % 100 = 00 -99

1.rowKey设计:rno + callerid + calltime[201702011212] + calleeid + duration ,这个地方注意:rno 等于callerid + calltime 的一部分

2.通话记录:

1)创建表:$hbase>create 'ns1:calllogs','f1'

2)创建单元测试。向表中添加数据。

60bb14ac30cc17a05f6af6e053efa3d1.png
5fc0e2883d4a895bef8cd243755d51ce.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值