Hbase的基本操作(CURD)

这篇具有很好参考价值的文章主要介绍了Hbase的基本操作(CURD)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hbase的基本操作(CURD)

Hbase


仅供参考学习


一、Hbase是什么?

Hbase是一个分布式的面向列的开源数据库,且Hbase不同于一般的关系数据库,它是一个适用于非结构化数据存储的数据库,且是基于列的模式。它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务

表的基本结构
Hbase的基本操作(CURD)

二、与传统数据库的差异

MySQL、Oracle Hbase
行储存 列储存
适用于OLTP业务 平衡了OLTP和OLAP
强一致性 强一致性
支持二级索引 不支持二级索引
支持全文索引 不支持全文索引

强一致性:例如MySQL的全同步复制模式,在该模式下用户与MySQL交互,主库和备库同binlog时,主库只有在收到备库的成功响应之后,才能够向客户端反馈提交成功。因此在用户获得响应时,主库和备库的数据副本已经达到了一致,所以后续的读操作肯定不会出现问题,这种模式称为强一致性。
Hbase的基本操作(CURD)但是该模式具有很严重的弊端:

性能差: 主库必须等到所有备库均返回成功后,才能向用户反馈提交成功。
可用性降低: 在全同步复制模式下,集群中的节点被串联在一起,集群整体的可用性就降低了,且集群越大可用性问题越严重。
正因为这两个问题,实现强一致性需要的代价太大,所以大部分产品选择弱一致性

二级索引:叶子节点中存储主键值,每次查找数据时,根据索引找到叶子节点中的主键值,根据主键值再到聚簇索引中得到完整的一行记录。
全文索引:通过关键字的匹配来进行查询过滤,基于相似度的查询

OLTP和OLAP
Hbase的基本操作(CURD)

Hbase的基本操作(CURD)

三、基本操作

1.表操作

1.1 创建表

hbase> create ‘tablename’,‘column_family01’,‘column_family02’

create 'student','info','grade'

tablename: 表名
column_family01,column_family02:列族名
注意:
不用创建列,列名是后期插入数据时才定义的

1.2 删除表

表创建成功后,默认状态是enable,即“使用中”的状态,删除表之前需先设置表为“关闭中”。

disable 'student'

再使用关键字drop删除表

drop 'student'
1.3 增加列族

hbase> alter ‘tablename’,‘column_famaily03’

alter 'student','sci'
1.4 删除列族名

hbase> alter ‘ table_name ’, ‘delete’ => ‘ column family ’
hbase> alter 'table_name ',{NAME=>‘column family’,METHOD=>‘delete’}

alter 'student','delete'=>'sci'
alter 'student',{NAME=>'grade',METHOD=>'delete'}
1.5查看表结构

hbase> describe ‘table_name’

describe 'student'

2.对数据的操作

2.1插入(更新)数据

put ‘table_name’,‘row_key1’,‘column_family:column’,‘value’
注:
row_key: 行键
column: 列名
只能一列一列的加,并不能一次性插入多条列数据(当插入的列已经有数据时就会覆盖原有值)

put 'student','student_01','grade:math','20'
put 'student','student_01','grade:english','96'
put 'student','student_01','info:name','Jack'
put 'student','student_01','info:class','1101'
2.2 查看数据(get|scan)

get ‘table_name’ ,‘row_key’
scan ‘table_name’
get: 只查看某个行键的数据
scan:查看表的所有数据

get 'student','student_01'
scan 'student'
2.3 删除一条行数据中的列值

hbase> deleteall ‘table_name’,‘row_key’,‘column_family:column’
hbase>delete ‘table_name’,‘row_key’,‘column_family:column’

deleteall'student','student_01','info:class'
2.4 删除行数据(delete|deleteall)

deleteall ‘table_name’,‘row_key’

deleteall:删除具体到哪一行中的某个列族下的某一列数据

deleteall 'student','student_01'

文章多处借鉴,代码亲测,若有侵权,还忘告知:文章来源地址https://www.toymoban.com/news/detail-400442.html

到了这里,关于Hbase的基本操作(CURD)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 我的医学预测模型评价步骤(仅供参考)

    个人意见,仅供参考 一切变化都是源于决策曲线分析,据说决策曲线分析已经获得了预测模型界的认可,也已经被写进了预测模型的报告指南–TRIPOD 中。一篇在pubmed上发表的关于如何使用决策曲线分析的指导论文,给出了使用决策曲线分析的几点推荐:1. 确定临床使用场景

    2024年02月02日
    浏览(63)
  • uniapp获取手机号(前端部分,仅供参考~)

    html部分 js部分 api部分

    2024年02月09日
    浏览(55)
  • 轴承故障诊断系统的需求说明,仅供参考使用

    项目名称:轴承故障诊断系统 项目目标 开发一个自动化系统,用于测试和诊断工业轴承的潜在故障。系统将通过分析从轴承收集的振动数据来检测异常模式,以预测故障并提供维护建议。 硬件需求 传感器 :高精度振动传感器,型号:Honeywell 78628/1NC。 数据采集卡 :NI PXI-

    2024年01月23日
    浏览(42)
  • 分布式计算----期末复习题(仅供参考)

    一.单选题,每个2分 1.Hadoop 之父 是下面的哪一位?(B) A. James Gosling        B.Doug Cutting    C.Matei Zaharia   D.Linus Benedict Torvalds 2.Hadoop中,用于 处理或者分析海量数据 的组件是哪一个?(  B   ) A.HDFS     B.MapReduce     C.Yarn   D.以上选项都不是 3.HDFS中 存储和管理元数据

    2024年02月10日
    浏览(51)
  • 有关 Rust 交叉编译的一些思路 (仅供参考)

    近来, 使用 Rust 语言开发的应用程序, 渐渐融入了开发者以及普通用户的日常生活. 它们不仅出现在我们常用的工作平台上, 不少嵌入式设备或者云服务器上也多见它们的身影. Rust 是一种需要编译的语言, 且一些 crate 仍需要 C/C++ 的构建环境. 大多数时候, 在 Rust 工具链 (toolchai

    2024年02月09日
    浏览(43)
  • halcon不能连接海康相机解决方法(仅供参考)

    halcon不能连接相机有很多原因,这里作者给出其中一种的解决方法。 首先需要自行先下载海康软件,   1.首先点开Development, 2.根据图片的路径,点开以下文件夹  3.根据自己电脑安装的halcon版本打开对应文件夹     4.我的电脑是win64位的,根据自己的电脑打开对应的文件夹。

    2024年02月12日
    浏览(43)
  • 【Software Testing】【期末习题库】【2023年春】【仅供参考】

    类型 总分占比 平时成绩 40% 考试/考查 60% 题型 题量×分值 备注 单选 20×1’ 多选 10×3’ 全对=3’,错1个=0’,少选=-1’ 填空 10×2’ 判断 5×2’ 大题 2×10’ 平时习题(3次): ①软件测试概述 ②黑盒测试 ③白盒测试和性能测试 期中考试(1次) 大题1:平时课上练习过的习题

    2024年02月10日
    浏览(48)
  • Python爬取MidJourney历史图片【仅供参考学习使用】

    使用MidJourney时, 在https://www.midjourney.com/app/这里有接口https://www.midjourney.com/api/app/recent-jobs/?amount=35dedupe=truejobStatus=completedjobType=upscaleorderBy=newpage=3prompt=undefinedrefreshApi=0searchType=advancedservice=nulltoDate=2023-06-16+09%3A50%3A17.379092type=alluserId=b12e169c-f609-4fd6-b917-11c2deaa8cffuser_id_ranked_score=n

    2024年02月13日
    浏览(56)
  • gamit10.71解算教程(入门级别,仅供参考)

    数据准备 1.1 数据下载 本次实例拟使用aira bjnm chan cmum hkws mizu twtf ulab等IGS站数据进行解算,计算日本的两个站mizu, aira的位置,解算时间为2019年129天。 在主目录下创建工程文件目录 mkdir test 链接tables文件夹下中的文件 sh_setup -yr 2019 -apr igs14_comb.apr (注:igs14_comb.apr文件中保存

    2024年01月25日
    浏览(44)
  • 删除文件后磁盘空间未释放,只能重启进程?(仅供参考)

    很多运维同学都遇到过“磁盘告警”,遇到这种情况就需要去清理磁盘。 这时候,很多同学通过各种途径、手段、命令找到了占用磁盘比较大的文件,然后大手一挥,  以为这样任务就完成了,谁知道,一查询磁盘使用量还是居高不下,完全没有释放。 这是因为在Linux中,如

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包