Hadoop原理与技术——Hbase实操

简介: Hadoop原理与技术——Hbase实操
1:start-all.sh

开启hadoop相关进程

2: start-hbase.sh

启动hbase

3: jps

查看启动的进程情况

3: hbase shell

进入hbase

4: list

显示所有表

http://localhost:16010/master-status

5: create ‘rg34’,’f1’,’f2’,’f3’

创建rg34表,f1,f2,f3为列族

6: describe ‘rg34’

查看表结构

7: scan ‘rg34’

查看表全部数据

8: put ‘rg34’,’h1’,’f1:r1’,’hello’

往表中插入一条数据

9: scan ‘rg34’

查看表全部数据

10: get ‘rg34’,’h1’,{COLUMN=>’f1:c1’}

通过列名查找数据

11: put ‘rg34’,’h1’,’f1:c1’,’hello1’

往表中插入一条数据

12: scan ‘rg34’

查看表全部数据

13: get ‘rg34’,’h1’,{COLUMN=>’f1:c1’}

通过列名查找数据

发现只有hello1的数据,但实际上hello数据并没有被覆盖,hello数据也被保存起来了,这两个方式查看表数据的时候只显示这些列的最新数据

14: scan ‘rg34’,{RAW=TRUE,VERSIONS=1}

查看隐藏的数据 1表示显示数据版本个数为1个版本

15: scan ‘rg34’,{RAW=TRUE,VERSIONS=2}

查看隐藏的数据 2表示显示数据版本个数为2个版本

16: delete ‘rg34’,’h1’,’f1:c1’

删除数据

17: scan ‘rg34’

查看表全部数据,发现hello数据出来了

18: scan ‘rg34’,{RAW=TRUE,VERSIONS=2}

hello1数据并没有被删除,因为hbase的数据通常是保存在HDFS上,而hdfs只允许新增或者追加数据文件,如果要删除的话要对整个文件进行替换,所以删除操作是对删除的数据打上标记

什么时候数据被真正删除?

具体操作:
当多个storefile进行major_compact全局合并时,就会真正对那些打标记的数据进行删除。

storefile:
因为hbase基于hdfs进行数据存储。为了提升效率,会有一个memstore、block cache对数据进行缓存,使用wal日志文件来防止内存数据丢失。但这些东西最终都会放到磁盘中的某个文件进行存储,这个磁盘文件就是storefile

手动实现major_compact:
先进行flush数据刷写,然后再进行major_compact ‘rg34’

19: flush ‘rg34’

20: major_compact ‘rg34’

21: scan ‘rg34’,’h1’,’f1:c1’

发现标记要删除的数据不见了

22: disable ‘rg34’

使表不可用

23: drop ‘rg34’

删除表

24: list

显示全部表

java程序操作hbase

1:createTable("rg34"); 创建表rg34

2:insertData("rg34"); 往rg34表插入数据f1 c1 aaa

3:insertData("rg34"); 往rg34表插入数据f1 c2 bbb

4:QueryAll("rg34"); 查询rg34全部数据

5:QueryByCondition1("rg34","Hbase"); 根据行键查询数据

6:getCellData("rg34","Hbase","f1","c2"); 根据行键、列族、列名查询数据

7:deleteRow("rg34","Hbase"); 删除Hbase行

8:deleteColumnFamily("rg34","f1"); 删除f1列族

9:dropTable("rg34"); 删除rg34表

高可靠性、高性能、列存储、可伸缩、扩展性强、实时读写的分布式数据库系统,海量存储、列式存储、极易扩展、高并发、稀疏灵活

适用:

高吞吐量
在大规模数据集中进行很好性能的随机访问(按列)
非结构化和半结构化的数据

不适用:

1 瞬间写入量很大,数据库不好支撑或需要很高成本支撑的场景。
2 数据需要长久保存
3 HBase不适用有join,多级索引,表关系复杂的数据模型

HBase包含3个重要组件:

ZooKeeper、HMaster、RegionServer。

ZooKeeper为整个HBase集群提供协助的服务(信息传输),HMaster主要用于监控和操作集群中的所有RegionServer,HRegionServer主要用于服务和管理分区(regions)。

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
16天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
60 2
|
16天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
56 1
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
69 4
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
32 3
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
57 3
|
1月前
|
SQL 分布式计算 Hadoop
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
70 2
|
1月前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
50 2
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
148 6
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
64 2
|
1月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
53 1