北京网站建设公司拟,阿里云的网站建设花钱么,可以自己设计一个公司的网站,网络用户提要求找人帮忙做的网站一、HBase定义1.1 HBase定义HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库非结构化数据存储的数据库#xff0c;基于列的模式存储。利用Hadoop HDFS作为其文件存储系统#xff0c;写入性能很强#xff0c;读取性能较差。利用Hadoop MapReduce来处理HBase中的…一、HBase定义1.1 HBase定义HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL 数据库非结构化数据存储的数据库基于列的模式存储。利用Hadoop HDFS作为其文件存储系统写入性能很强读取性能较差。利用Hadoop MapReduce来处理HBase中的海量数据利用Zookeeper作为协同服务。关系型数据库存储数据是以表格的形式存储非关系型数据库是以k,v进行存储。通过k,v进行存储当在用key读取value的时候效率更高速度更快使用起来更灵活。划重点HBase是基于列存储的主要用来存储非结构化和半结构化的松散数据适合大数据的实时查询利用HDFS作为其文件存储系统利用MapReduce来处理 HBase中的海量数据利用Zookeeper作为其分布式协同服务1.2 HBase数据模型Name Space命名空间类似于关系型数据库的 DatabBase 概念每个命名空间下有多个表。HBase 有两个自带的命名空间分别是 hbase 和 defaulthbase 中存放的是 HBase 内置的表 default 表是用户默认使用的命名空间。Table类似于关系型数据库的表概念。不同的是HBase 定义表时只需要声明列族即可不需要声明具体的列。这意味着往 HBase 写入数据时字段可以动态、按需指定。因此和关系型数据库相比HBase 能够轻松应对字段变更的场景。RowHBase 表中的每行数据都由一个 RowKey 和多个 Column(列)组成数据是按照 RowKey 的字典顺序存储的并且查询数据时只能根据 RowKey 进行检索所以 RowKey 的设计十分重要。ColumnHBase 中的每个列都由 Column Family(列族)和 Column Qualifier(列限定符)进行限定例如 info:nameinfo:age。建表时只需指明列族而列限定符无需预先定义 。Time Stamp用于标识数据的不同版本(version)每条数据写入时如果不指定时间戳系统会 自动为其加上该字段其值为写入 HBase 的时间。Cell由{rowkey, column Family:column Qualifier, time Stamp} 唯一确定的单元。cell 中的数据是没有类型的全部是字节码形式存贮。1.3 HBase 架构MasterMaster 是所有 Region Server 的管理者其实现类为 HMaster(服务器上有个HMaster进程).功能负责通过ZK监控RegionServer进程状态同时是所有元数据变化的接口。内部启动监控执行region的故障转移和拆分的线程。RegionServer主要进程具体实现类为HRegionServer部署在datanode上。功能主要负责数据cell的处理。同时在执行区域的拆分和合并的时候由RegionServer来实际执行。ZookeeperHBase 通过 Zookeeper 来做 Master 的高可用、RegionServer 的监控、元数据的入口以及集群配置的维护等工作。HDFSHDFS 为 HBase 提供最终的底层数据存储服务同时为 HBase 提供高可用的支持。二、HBase基本操作-- 启动关闭相关
-- 1.启动hbase
bin/start-hbase.sh
-- 2.查看启动情况
-- 单机版只会有 HMaster 进程
jps
-- 3.关闭hbase
bin/stop-hbase.sh 基础命令-- 基础命令
-- 1.进入 HBase 客户端命令行
bin/hbase shell
-- 2.查看帮助命令
help
-- 3.查看当前数据库中有哪些表
list表空间相关操作-- 表空间
-- 1.创建namespace
create_namespace nametest
-- 2.删除namespace
drop_namespace nametest
-- 3.查看namespace
describe_namespace nametest
-- 4.列出所有namespace
list_namespace
-- 5.在namespace下创建表
create nametest:testtable, fm1
-- 6.查看namespace下的表
list_namespace_tables nametest 表相关操作创建表表中有两个列族 baseinfo, schoolinfo
create bigdata:student,baseinfo,schoolinfo查看指定表全名空间中的表
list_namespace_tables bigdata查看表描述
desc/describe bigdata:student禁用/启用
disable bigdata:student
enable bigdata:student查看是否启用/禁用
is_disabled bigdata:student
true
is_enabled bigdata:student
false 删除表 注意首先要将删除的表设置为禁用状态才可以删除否则会报错
drop bigdata:student新增列族
alter bigdata:student,teacherinfo删除列族
alter bigdata:student,{NAMEteacherinfo,METHODdelete}更改列族存储版本的限制
alter bigdata:student,{NAMEbaseinfo,VERSIONS3}增加数据
put bigdata:student,rowkey1,baseinfo:name,tom
put bigdata:student,rowkey1,baseinfo:birthday,1999-01-01
put bigdata:student,rowkey1,baseinfo:age,24
put bigdata:student,rowkey1,schoolinfo:name,bdqn
put bigdata:student,rowkey1,schoolinfo:address,jsxueyuanput bigdata:student,rowkey2,baseinfo:name,jerry
put bigdata:student,rowkey2,baseinfo:birthday,2003-07-02
put bigdata:student,rowkey2,baseinfo:age,20
put bigdata:student,rowkey2,schoolinfo:name,njzb
put bigdata:student,rowkey2,schoolinfo:address,wendingput bigdata:student,rowkey3,baseinfo:name,mands
put bigdata:student,rowkey3,baseinfo:birthday,2022-05-21
put bigdata:student,rowkey3,baseinfo:age,1
put bigdata:student,rowkey3,schoolinfo:name,yey
put bigdata:student,rowkey3,schoolinfo:address,bjput bigdata:student,rowkey4,baseinfo:name,roboot
put bigdata:student,rowkey4,baseinfo:birthday,2018-12-31
put bigdata:student,rowkey4,baseinfo:age,5
put bigdata:student,rowkey4,schoolinfo:name,xiaoxue
put bigdata:student,rowkey4,schoolinfo:address,shanghai根据条件查询
get bigdata:student,rowkey1
get bigdata:student,rowkey2,baseinfo
get bigdata:student,rowkey2,schoolinfo
get bigdata:student,rowkey2,baseinfo:name
get bigdata:student,rowkey3,{COLUMNbaseinfo:name}查看指定列中不同版本的数据
get bigdata:student,rowkey2,{COLUMNbaseinfo:name,VERSIONS3}删除指定列族下的指定列
delete bigdata:student,rowkey3,baseinfo:age
删除指定行
deleteall bigdata:student,rowkey3全表扫描
scan bigdata:student
全表扫描指定列族
scan bigdata:student, COLUMNbaseinfo
全表扫描指定列族指定列
scan bigdata:student, COLUMNbaseinfo:birthday扫描指定起始行至结束行(不包含)
scan bigdata:student,{COLUMNSbaseinfo:name, STARTROWrowkey1, STOPROWrowkey4}scan bigdata:student,{COLUMNSbaseinfo:name, STARTROWrowkey1, STOPROWrowkey4, LIMIT3}
scan bigdata:student,{COLUMNSbaseinfo:name, STARTROWrowkey1, STOPROWrowkey4, LIMIT3,VERSIONS3}值包含nt
scan bigdata:student,FILTERValueFilter(,substring:bdqn)值24
scan bigdata:student,FILTERValueFilter(,binary:24)列以birth开头的
scan bigdata:student,FILTERColumnPrefixFilter(birth)以birth开头且 值中包含2022
scan bigdata:student, FILTERColumnPrefixFilter(birth) AND ValueFilter(,substring:2022)以birth开头且 值中包含2022 或者 1999