HBase入门

1、概述

    Apache HBase是一个构建在HDFS之上的分布式的、可扩展的、大数据存储数据库。

    当你需要基于海量数据随机实时读写操作的时候你可以使用HBase,HBase的目标是容纳包含数十亿计的行和数百万的列的大表,它是一个开源的、分布式的、版本化的非关系型数据库,它受谷歌的“BigTable”论文启发而逐渐成型。正如Bigtable利用谷歌文件系统提供的分布式数据存储一样,Apache HBase在Hadoop和HDFS上提供了类似Bigtable的功能。

2、优势

a.社区成熟,理论经过实践充分验证,具有丰富的工具支持

b.将随机读写转变为顺序读写,适合做高并发写入

c.行中没有数据的列不占用存储空间

d.易扩展,大数据存储,基于HDFS

3.特点

a.一个表可以有数十亿行,上百万列

b.面向列:面向列(族)的存储和权限访问,列(族)独立索引

c.数据类型单一:HBase中只有字符串String类型

d.无模式:每一行都有一个可用于排序的主键和任意多的,可动态扩展的列

4.HBase VS RDBMS

a.HBase扩展性更好,对于大数据更有优势

b.HBase多表关联不如RDBMS方便

c.不引入别的工具,只有一个rowkey做索引,RDBMS索引种类繁多

d.HBase基于列,RDBMS基于行

e.HBase存储数据可以是图片,视频,音频,文本等,种类更多

 f.HBase自带索引,查询效率更高,适合海量数据

h.HBase数据类型单一:HBase中只有字符串String类型

5.HBase术语

A.主键rowkey:用来检索记录

    主键rowkey可以是任意的字符串,最大长度为64kb,按字典顺序存储,在HBase内部保存为字节数组

    访问HBase中的数据有三种方式:

        a.通过单个rowkey,查询一条数据

        b.通过rowkey的范围

        c.全表扫描

B.列族column family:

    列族在声明时定义,一个列族有多个列,列中数据以二进制形式存储,没有数据类型,列族是列的集合

C.存储单元cell

    HBase通过rowke和column确定的一个存储单元我们成为cell,每一个cell中都保存着一份数据的多个版本

    在每个cell中,不同版本的数据按照时间的倒序排列,{row,column,version}元祖就是一个cell

D.时间戳TimeStamp

    在写入数据时,时间戳可以由HBase自动赋值(当前系统时间精确到毫秒),也可以自定义赋值

E.杂:

    在HBase中,所有数据全都存储在Region上,一张表有多个Region,RegionServer则负责维护Region,每一个列族对应HDFS上的一个文件

6.HBase在hdfs上的目录

.tmp目录:hbase临时目录,对表进行创建和删除时,会将表移到该目录下再进行操作

WALs目录:存储在RegionServer处理数据插入和数据删除过程中用来记录操作内容的日志

data目录:核心目录,存储HBase数据

hbase.id:存储集群的唯一cluster id

hbase.version:集群版本号

hbase.oldWALs:当WALs目录中的logs无效后会移动到该目录下,hbase会定期清理

7.hbase shell

基本操作如下:

创建表:create ‘表名’,‘列族名1’,‘列族名2’

添加记录:put ‘表名’,‘行名’,‘列族名:列名’,‘值’

查看记录:get ‘表名’,‘列名’

查看表:scan ‘表名’

查看某列:scan ‘表名’,{COLUMN=>‘列族名:列名’}

查看表中记录总数:count ‘表名’

删除记录:delete ‘表名’,‘行名’,‘列族名:列名’

删除表:disable ‘表名’ drop ‘表名’

列出所有表:list

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
城市应急指挥系统是智慧城市建设的重要组成部分,旨在提高城市对突发事件的预防和处置能力。系统背景源于自然灾害和事故灾难频发,如汶川地震和日本大地震等,这些事件造成了巨大的人员伤亡和财产损失。随着城市化进程的加快,应急信息化建设面临信息资源分散、管理标准不统一等问题,需要通过统筹管理和技术创新来解决。 系统的设计思路是通过先进的技术手段,如物联网、射频识别、卫星定位等,构建一个具有强大信息感知和通信能力的网络和平台。这将促进不同部门和层次之间的信息共享、交流和整合,提高城市资源的利用效率,满足城市对各种信息的获取和使用需求。在“十二五”期间,应急信息化工作将依托这些技术,实现动态监控、风险管理、预警以及统一指挥调度。 应急指挥系统的建设目标是实现快速有效的应对各种突发事件,保障人民生命财产安全,减少社会危害和经济损失。系统将包括预测预警、模拟演练、辅助决策、态势分析等功能,以及应急值守、预案管理、GIS应用等基本应用。此外,还包括支撑平台的建设,如接警中心、视频会议、统一通信等基础设施。 系统的实施将涉及到应急网络建设、应急指挥、视频监控、卫星通信等多个方面。通过高度集成的系统,建立统一的信息接收和处理平台,实现多渠道接入和融合指挥调度。此外,还包括应急指挥中心基础平台建设、固定和移动应急指挥通信系统建设,以及应急队伍建设,确保能够迅速响应并有效处置各类突发事件。 项目的意义在于,它不仅是提升灾害监测预报水平和预警能力的重要科技支撑,也是实现预防和减轻重大灾害和事故损失的关键。通过实施城市应急指挥系统,可以加强社会管理和公共服务,构建和谐社会,为打造平安城市提供坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值