网站架构招聘,传智播客,c语言和c 哪个做网站好,可视化网页在线编辑器一#xff1a;Hbase 创建数据库表
1.进入hbase shell 2.创建数据库表的命令#xff1a;create 表名, 列族名1,列族名2,列族名N 3.如果想查看所有数据库表#xff0c;可以使用list 命令#xff1a; 4.可以看到#xff0c;刚创建的数据库表user 已经在数据库表的列表中Hbase 创建数据库表
1.进入hbase shell 2.创建数据库表的命令create 表名, 列族名1,列族名2,列族名N 3.如果想查看所有数据库表可以使用list 命令 4.可以看到刚创建的数据库表user 已经在数据库表的列表中如果要看user表的结构可以用命令describe ‘user’
二Hbase数据库表数据的增、删、改、查
1.Hbase 增加数据的语法格式如下put ‘表名’, ‘rowKey’, ‘列族 : 列’ , 值 2.Hbase查询数据的语法格式如下 通过命令scan ‘表名’ 来查看表的所有记录 3.count 表名 来查看表中的所有记录的数量(根据rowKey来计算) 4.通过命令get 表名,rowkey,列族 来查看某个rowKey列族的记录 get 表名,rowkey,列族列’来查看rowKey列族的某个列记录 5.Hbase删除数据的语法格式如下 通过命令delete ‘表名’,‘行名’,‘列族列 来删除某个记录 6. get来查询删除的记录是否删除成功 get ‘表名’,‘行名’,‘列族列 7.deleteall 表名,rowkey 来删除整行记录 8. scan ’表名‘ 来查看整个表的记录来看是否删除成功 9.truncate 表名 来清空表所有的记录
10.Hbase更新数据的语法格式如下 通过命令put就是重写一遍进行覆盖hbase没有修改都是追加即对相同rowKey、列族和时间戳的数据再次添加即为数据的更新 比如put ‘user’,’1234’,’info1:name’,’zhangsan’
三Hbase 删除数据库表
1.Hbase 删除数据库的语法格式如下(drop 表名) 在删除表时先要屏蔽该表才能对该表进行删除 第一步: disable ‘表名’第二步 :drop 表名 2. Disable 表后可以通过命令is_enabled 表名查看当前表是否可用 3.false(不可用)。 通过drop命令对表进行删除 4.最后用list命令查看user是否已被成功删除
四过滤器 一般需要配合比较运算符或比较器共同使用
使用过滤器的语法格式如下所示scan 表名{Filter ”过滤器(比较运算符,’比较器’)”} 1行键过滤器 1RowFilter针对行键进行过滤 例1显示行键前缀为0开头的键值对 scanstudent,{FILTERRowFilter(,substring:001)} 2PrefixFilter行键前缀过滤器 例2扫描前缀为001的行键 scanstudent,FILTERPrefixFilter(001) 3FirstKeyOnlyFilter扫描全表显示每个逻辑行的第一个键值对 例4scan student,FILTERFirstKeyOnlyFilter() 4InclusiveStopFilter替代ENDROW返回终止条件行 例5扫描显示行键001到002范围内的键值对 scan student, {STARTROW001,FILTER InclusiveStopFilter(002)} 此条命令等同于 scan student, {STARTROW001,ENDROW 003} 2列族与列过滤器 1FamilyFilter针对列族进行比较和过滤。 例1显示列族前缀为stu开头的键值对 scanstudent,FILTERFamilyFilter(,substring:stu’)” 2QualifierFilter列标识过滤器。 例2显示列名为name的记录 scanstudent,FILTERQualifierFilter(,substring:name) 3ColumnPrefixFilter对列名前缀进行过滤。 例2显示列名为name的记录 scanstudent,FILTERColumnPrefixFilter(name’)” 等价于scanstudent,FILTERQualifierFilter(,substring:name) 4MultipleColumnPrefixFilter可以指定多个前缀 例3显示列名为name和age的记录 scan student,FILTERMultipleColumnPrefixFilter(name,age) 5ColumnRangeFilter 设置范围按字典序对列名进行过滤 scanstudent,FILTERColumnRangeFilter(bi,true,na,true) 3值过滤器 1ValueFilter 值过滤器。 例1查询值等于19的所有键值对 scanstudent,FILTERValueFilter(,binary:19) scanstudent,FILTERValueFilter(,substring:19) 2SingleColumnValueFilter 在指定的列族和列中进行值过滤器。 例2查询stuinfo列族age列中值等于19的所有键值对 scanstudent,{COLUMNstuinfo:age,FILTERSingleColumnValueFilter(stuinfo,age,,binary:19)}4其他过滤器 1ColumnCountGetFilter 限制每个逻辑行返回的键值对数 例1返回行键为001的前3个键值对 get student,001,FILTERColumnCountGetFilter(3) 2PageFilter基于行的分页过滤器设置返回行数。 例2显示一行 scanstudent,FILTERPageFilter(1) 3ColumnPaginationFilter基于列的进行分页过滤器需要设置偏移量与返回数量 。 例3显示每行第1列之后的2个键值对scanstudent,FILTERColumnPaginationFilter(2,1)
五例题 实操题
(1) 启动HBase cd /opt/hbase-1.2.6/bin/ 进入hbase安装的bin目录下 ./start-hbase.sh(2) 连接HBase实例 hbase shell(3) 查看存在哪些表 list(4) 创造表people,表中有列簇info create people,info(5) 向people表的列族info中添加数据数据根据上表内容填写 put ‘people’,’1001’,’info:name’,’jenny’ put ‘people’,’1002’,’info:name’,’sam’ put ‘people’,’1002’,’info:age’,’20’(6) people表添加一个列簇salary alter people,salary(7) 查看people表结构 describe people(8) 向people表的列族salary中添加数据并且base列的版本号时间戳都自定义为“1”数据根据上表内容填写 put ‘people’,’1001’,’salary:base’,’2000’,1 put ‘people’,’1002’,’salary:base’,’1300’,1 put ‘people’,’1002’,’salary:subsidy’,’500’(9) 修改行键1002的列族salary的base列的值为1800版本号为“2” put ‘people’,’1002’,’salary:base’,’1800’,2(10) 查看people表的所有的数据 scan people(11) 查看行键1002的列族salary的base列的版本号为1的值 get ‘people’,’1002’,{COLUMN’salary:base’,TIMESTAMP1}(12) 使用“FamilyFilter”过滤器显示列族前缀为“sa”开头的键值对 scan ‘people’,FILTER”FamilyFilter(,substring:sa’)”(13) 使用“RowFilter”过滤器显示行键等于1001的键值对 scan ‘people’,FILTERRowFilter(,binary:1001)(14) 使用“ValueFilter”过滤器查询base值大于等于2000的所有键值对 scan people,FILTERColumnPrefixFilter(base) AND ValueFilter(,binary:2000) (15) 删除行键为1002列族为info,列为age的数据 delete ‘people’,’1002’,’info:age’(16) 清空表people truncate people(17) 删除表 drop ‘people’