Hbase操作手册

一: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.行键过滤器

(1)RowFilter:针对行键进行过滤
         例1:显示行键前缀为0开头的键值对;
         scan'student',{FILTER=>"RowFilter(=,'substring:001')"}
(2)PrefixFilter:行键前缀过滤器
         例2:扫描前缀为001的行键
         scan'student',FILTER=>"PrefixFilter('001')"
(3)FirstKeyOnlyFilter:扫描全表,显示每个逻辑行的第一个键值对
         例4:scan 'student',FILTER=>"FirstKeyOnlyFilter()"
(4)InclusiveStopFilter:替代ENDROW返回终止条件行;
         例5:扫描显示行键001到002范围内的键值对
         scan 'student', {STARTROW=>'001',FILTER =>"InclusiveStopFilter('002')"}
         此条命令等同于:
         scan 'student', {STARTROW=>'001',ENDROW => '003'}
2.列族与列过滤器

(1)FamilyFilter:针对列族进行比较和过滤。
         例1:显示列族前缀为stu开头的键值对;
        scan'student',FILTER=>"FamilyFilter(=,'substring:stu’)”
(2)QualifierFilter:列标识过滤器。
         例2:显示列名为name的记录;                           scan'student',FILTER=>"QualifierFilter(=,'substring:name')"
(3)ColumnPrefixFilter:对列名前缀进行过滤。
         例2:显示列名为name的记录;
                    scan'student',FILTER=>"ColumnPrefixFilter('name’)”
         等价于scan'student',FILTER=>"QualifierFilter(=,'substring:name')"

(4)MultipleColumnPrefixFilter:可以指定多个前缀
         例3:显示列名为name和age的记录;
         scan 'student',FILTER=>"MultipleColumnPrefixFilter('name','age')"
(5)ColumnRangeFilter :设置范围按字典序对列名进行过滤; scan'student',FILTER=>"ColumnRangeFilter('bi',true,'na',true)"
3.值过滤器

(1)ValueFilter :值过滤器。
例1:查询值等于19的所有键值对
scan'student',FILTER=>"ValueFilter(=,'binary:19') " scan'student',FILTER=>"ValueFilter(=,'substring:19')
(2)SingleColumnValueFilter :在指定的列族和列中进行值过滤器。
例2:查询stuinfo列族age列中值等于19的所有键值对
scan'student',{COLUMN=>'stuinfo:age',FILTER=>"SingleColumnValueFilter('stuinfo','age',=,'binary:19')"}
4.其他过滤器
(1)ColumnCountGetFilter :限制每个逻辑行返回的键值对数
例1:返回行键为001的前3个键值对
get 'student','001',FILTER=>"ColumnCountGetFilter(3)"
(2)PageFilter:基于行的分页过滤器,设置返回行数。
例2:显示一行
scan'student',FILTER=>"PageFilter(1)"
(3)ColumnPaginationFilter:基于列的进行分页过滤器,需要设置偏移量与返回数量 。
例3:显示每行第1列之后的2个键值对scan'student',FILTER=>"ColumnPaginationFilter(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’,TIMESTAMP=>1}
(12)  使用“FamilyFilter”过滤器显示列族前缀为“sa”开头的键值对
scan ‘people’,FILTER=>”FamilyFilter(=,'substring:sa’)”
(13)  使用“RowFilter”过滤器显示行键等于1001的键值对
scan ‘people’,FILTER=>"RowFilter(=,'binary:1001')"
(14)  使用“ValueFilter”过滤器查询base值大于等于2000的所有键值对
scan 'people',FILTER=>"ColumnPrefixFilter('base') AND ValueFilter(>=,'binary:2000') "
(15)  删除行键为1002,列族为info,列为age的数据
delete ‘people’,’1002’,’info:age’
(16)  清空表people
truncate 'people'
(17)  删除表
drop ‘people’

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145592.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

单元格左边放文字右边放按钮

1 . 代码 /* 添加到你的CSS文件中 */ .switch-td { display: flex; justify-content: space-between; /* 两端对齐&#xff0c;这样文本和开关会分别靠左和靠右 */ align-items: left; /* 垂直居中 */ } /* 如果你不想改变其他<td>的默认左对齐&#xff0c;…

TTF与图片之间的相互转换,使用python,potrace,fontforge

概述 TTF是字体文件格式&#xff0c;里面存储的是矢量化的字体信息。TTF与图片之间的相互转换简单描述如下&#xff1a; 使用python中的PIL&#xff08;pillow&#xff09;图像库可以实现TTF转图片使用potrace可以将图片转为矢量文件svg&#xff0c;再进一步使用fontforge可以…

一天认识一个硬件之连接线

我们在日常工作生活中经常会用到许多连接线&#xff0c;比如视频线&#xff0c;USB线&#xff0c;但是他们的区别在哪里&#xff0c;可能太不清楚&#xff0c;今天就来给大家分享一下。 HDMI线 特点&#xff1a;HDMI线是一种全数字化视频和声音发送接口&#xff0c;可以发送未…

phpword读取word docx文档文本及图片转html格式

最近在做一个PHP读取word文档功能&#xff0c;搜索一圈后决定选择用phpword第三方组件。 composer安装phpWord composer require phpoffice/phpword如果你的文件是doc格式&#xff0c;直接另存为一个docx就行了&#xff1b;如果你的doc文档较多&#xff0c;可以下一个批量转…

Lingo求解器基本语法

Lingo是一款用于线性规划和整数规划的数学建模和求解软件&#xff0c;被广泛应用于运筹学、生产优化、供应链管理等领域。今天与大家一起来熟悉一下它的基本语法 Lingo基本语法 1、定义目标函数为MIN&#xff0c;MAX. 2、以一个分号“&#xff1b;”结尾。除SETS,ENDSETS,D…

煤矸石检测数据集(yolo)

yolo煤矸石检测 数据集 pt模型 界面&#xff0c; ✓3091张图片和txt标签&#xff0c;标签类别两类&#xff1a;“coal”、“rock”。 ✓适用于煤矸石识别&#xff0c;深度学习&#xff0c;机器学习&#xff0c;yolov5 yolov6 yolov7 yolov8 yolov9 yolov10&#xff0c;Python 煤…

Nvidia的高级研究科学家Jim Fan预计在未来两到三年内,机器人技术将取得重大进展

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Wacom 和 Splashtop 携手共赴 IBC 2024 展会,宣布向欧洲市场隆重推出 Wacom Bridge

2024年9月10日 荷兰阿姆斯特丹&德国杜塞尔多夫 Wacom 是数位笔技术的全球领袖&#xff0c;Splashtop 是高性能远程访问解决方案领域的先驱&#xff0c;双方宣布已在欧洲隆重推出 Wacom Bridge&#xff0c;目前 Splashtop Enterprise 和 Splashtop Business Access Perform…

【算法】BFS 系列之 多源 BFS

【ps】本篇有 4 道 leetcode OJ。 目录 一、算法简介 二、相关例题 1&#xff09;01 矩阵 .1- 题目解析 .2- 代码编写 2&#xff09;飞地的数量 .1- 题目解析 .2- 代码编写 3&#xff09;地图中的最高点 .1- 题目解析 .2- 代码编写 4&#xff09;地图分析 .1- 题…

英集芯IP5912:集成开关充电功能的低功耗8位POWER MCU芯片

英集芯IP5912是一款功能丰富的、集成了降压充电管理功能的8位MCU芯片&#xff0c;它内置了一个5V输入的同步降压充电DC-DC&#xff0c;功率管也是内置的&#xff0c;同时提供最大1.5A的充电电流。封装方式采用SOP16&#xff0c;方案应用时只需要很少的外围器件&#xff0c;就可…

Visual Studio 2022 - QT 环境中文字符乱码问题

Visual Studio 2022 - QT 环境中文字符乱码问题 一、Visual Studio 2022 - Qt 环境 在 QT 中使用中文字符串常会出现乱码现象&#xff0c;如下&#xff1a;以下提供了几个解决方法&#xff0c;仅供参考 QString str "百香果真是一直可爱的小猫咪"; qDebug() <…

大数据-142 - ClickHouse 集群 副本和分片 Distributed 附带案例演示

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

Tcping:一款实用的端口存活检测工具

简介 tcping 是一个基于TCP协议的网络诊断工具,通过发送 TCP SYN/ACK包来检测目标主机的端口状态。 官网:tcping.exe - ping over a tcp connection 优点: (1)监听服务器端口状态:tcping 可以检测指定端口的状态,默认是80端口,也可以指定其他端口。 (2)显示ping返…

ESXI主机证书报错

VCENTER提示主机证书状态异常 没有虚拟机运行 查看状态发现即将过期&#xff08;但其实已经过期了&#xff09; 点击更新即可&#xff0c;当有虚拟机运行时&#xff0c;不能直接更新证书。

探索自闭症寄宿学校的专属教育模式

在自闭症儿童教育的探索之路上&#xff0c;寄宿学校作为一种特殊的教育形式&#xff0c;正逐渐展现出其独特的优势与价值。这些学校不仅为自闭症儿童提供了一个安全、稳定的生活环境&#xff0c;更通过专属的教育模式&#xff0c;帮助他们逐步克服障碍&#xff0c;实现潜能的最…

掌握数据中心虚拟化:关键挑战与解决方案

数据中心虚拟化是使用云软件平台将物理数据中心转变为数字数据中心的过程&#xff0c;使企业能够远程访问信息和应用程序。它包括在数据中心内创建物理基础设施的多个虚拟版本&#xff0c;通过将服务器、存储和网络等资源划分为虚拟实体来实现资源的高效利用。 虚拟化环境中的关…

关于 NLP 深度学习的核心流程

基本流程实现的先后顺序&#xff08;每一步都包含很多技术点&#xff09;&#xff1a; 选定语言模型结构 关于语言模型&#xff1a; 作用 判断那一句话相对更合理&#xff0c;相对不合理的会得到较底的分值&#xff1a; 挑选成句概率分值最高的评价指标&#xff1a;PPL&…

微服务架构中的负载均衡与服务注册中心(Nacos)

1. 负载均衡&#xff1a;解决实际业务问题 1.1 业务场景思考 想象一个电子商务平台的微服务架构。我们有一个订单服务和多个用户服务实例。当订单服务需要调用用户服务时&#xff0c;它如何选择具体调用哪一台用户服务器&#xff1f;这就是负载均衡要解决的核心问题。 1.2 常…

主流卷积神经网络CNN总结

ResNet&#xff08;2015&#xff09;残差神经网络 残差结构 ResNet50具体卷积结构图 ResNeXt&#xff08;2016&#xff09;加入了分组卷积的思想&#xff0c;将原ResNet网络中的block替换成由group分组的block&#xff0c;两者得到的feature map一致&#xff0c;只是参数量更少…

《微软飞行模拟2024》储存空间需求仅不到前作的1/5

根据微软在最新一期 Xbox Wire 中的介绍&#xff0c;将于今年11 月登陆 Xbox Series X|S 主机的《微软飞行模拟2024》将比前作占用空间小很多。 微软解释了为何新作的文件大小仅为30GB&#xff0c;约为前作的五分之一。简单来说&#xff0c;微软使用了云流媒体传输技术。公司还…