NoSQL数据库之:HBase
一、NoSQL的基础、常见的NoSQL数据库
1、什么是NoSQL数据库?
(*)基于Key-Value来保存数据
关系型数据库:基于关系模型 ---> 二维表
(*)NoSQL不支持事务
2、常见的NoSQL数据库
(1)HBase:基于HDFS、面向列的NoSQL数据库
表 ---> 目录
数据---> 文件
(2)Redis:基于内存的一个NoSQL数据库,支持持久化(RDB、AOF)
前身:MemCached(不支持持久化)
(3)MongoDB:文档(BSON文档,就是JSON的二进制)型的NoSQL
举例:设计数据库,保存电影的信息
(4)Cassandra:面向列的NoSQL数据库
二、HBase的表结构和体系结构
1、HBase的表结构:Google的三篇论文的时候:BigTable 大表
2、HBase在ZK中保存数据
(*)配置信息、HBase集群结构信息
(*)表的元信息
(*)实现HBase的HA:high avaibility 高可用性
三、搭建HBase环境
(1)解压: tar -zxvf hbase-1.3.1-bin.tar.gz -C ~/training/
(2)设置环境变量 vi ~/.bash_profile
HBASE_HOME=/root/training/hbase-1.3.1
export HBASE_HOME
PATH=$HBASE_HOME/bin:$PATH
export PATH
1、本地模式: 不需要HDFS、直接把数据存在操作系统
hbase-env.sh
28 export JAVA_HOME=/root/training/jdk1.8.0_144
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>file:///root/training/hbase-1.3.1/data</value>
</property>
2、伪分布模式
hbase-env.sh
129 export HBASE_MANAGES_ZK=true
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.157.11:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.157.11</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
regionservers
192.168.157.11
3、全分布模式
hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.157.12:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.157.12</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
regionservers
192.168.157.13
192.168.157.14
scp -r hbase-1.3.1/ root@bigdata13:/root/training
scp -r hbase-1.3.1/ root@bigdata14:/root/training
4、HBase的HA
不需要额外配置,只用在其中一个从节点上单点启动Hmaster
bigdata13:hbase-daemon.sh start master
四、HBase在ZK中保存的数据和HA
五、操作HBase
1、Web Console网页:端口:16010 (早期的版本中:60010)
2、命令行
(*)创建表: create 'students','info','grade'
list
查看表结构
desc 'students'
describe 'students'
问题:在Oracle数据库中,desc emp和describe emp有区别吗?
desc 是SQL*PLUS语句,可以缩写
describe 是SQL语句
SQL*PLUS语句和SQL语句有什么区别?
(*)插入数据:put
(*)查询数据:
scan 相当于:select * from students
get 相当于 select * from students where rowkey=??
(*)清空表中的数据
问题:在Oracle数据库,清空表的数据有几种方式? delete和truncate语句
delete和truncate语句什么区别?
1、delete是DML(可以回滚),truncate是DDL(不可以回滚)
2、delete会产生碎片;truncate不会
3、delete不会释放空间;truncate会
4、delete可以闪回(flashback),truncate不可以闪回
truncate 'students' -----> 本质: 先删除表,再重建
日志:
Truncating 'students' table (it may take a while):
- Disabling table...
- Truncating table...
0 row(s) in 4.0840 seconds
旧版本HBase
Truncating 'students' table (it may take a while):
- Disabling table...
- Dropping table...
- Creating table ...
(*)删除表:disable 'students'
drop 'students'
3、Java API(HBase)
六、数据保存的过程(一定注意:Region分裂)
七、HBase的过滤器(Java程序)
八、HBase上的MapReduce
六、数据保存的过程(一定注意:Region分裂)
七、HBase的过滤器(Java程序)
1、准备实验的数据
2、列值过滤器
列名前缀过滤器
多个列名前缀过滤器
行键过滤器
3、组合过滤器
八、HBase上的MapReduce
1、建立表
create 'word','content'
put 'word','1','content:info','I love Beijing'
put 'word','2','content:info','I love China'
put 'word','3','content:info','Beijing is the capital of China'
2、结果:create 'stat','content'
注意:export HADOOP_CLASSPATH=$HBASE_HOME/lib/*:$CLASSPATH
- 大小: 66.2 KB
- 大小: 126.5 KB
- 大小: 58.4 KB
- 大小: 54.7 KB
- 大小: 63.7 KB
分享到:
相关推荐
【标题】"Hadoop之HBase学习笔记"主要聚焦于Hadoop生态中的分布式数据库HBase。HBase是一个基于Google Bigtable理念设计的开源NoSQL数据库,它运行在Hadoop之上,提供高性能、高可靠性以及可水平扩展的数据存储能力...
同时,掌握HBase的安装、配置和基本操作,如创建表、插入数据、查询数据等,是学习HBase的基础。 【HBase与其他技术的集成】 HBase可以与Apache Spark集成,用于实时数据处理和分析。Phoenix是SQL查询引擎,允许...
HBase 是一种非关系型数据库,也被称为NoSQL数据库,主要设计用于处理大规模的数据存储。它的核心特性包括列族存储、分布式存储、实时读写、水平扩展和强一致性。HBase构建于Apache Hadoop之上,利用HDFS作为其底层...
Hbase为Hadoop生态的存储引擎,为大数据系统提供了在线存储能力,为海量数据存储提供了很好的支撑。hbase系统架构也非常值得学习和借鉴,值得学习研究。
Hadoop与HBase学习笔记 本文档记录了Hadoop和HBase的学习过程,包括Hadoop的安装、HBase的安装和在Eclipse下开发HBase的实践过程。这些记录旨在为初学者提供指导和帮助。 1. Hadoop安装 Hadoop的安装需要先安装...
自己在大数据培训班学习整理的笔记,比较详细,适合新手学习,我感觉还是挺有帮助的,希望可以帮助到你
### HBase自学笔记知识点梳理 #### 一、HBase简介 **HBase** 是一个建立在 **Hadoop** 之上的非关系型数据库系统。...通过这些知识点的学习,可以帮助我们更好地理解和掌握HBase的核心技术和应用场景。
【HBase完整学习笔记】 HBase是一款开源的分布式NoSQL数据库,主要设计用于处理海量结构化数据,尤其适合大数据分析场景。它与传统的关系型数据库(如Oracle、MySQL)不同,采用列式存储方式,这使得HBase在压缩...
IT十八掌大数据第三期配套课堂笔记! 1 、HBase的特点 2 、HBase访问接口 3 、HBase存储结构与格式 4 、HBase设计 5 、关键算法和流程 6 、HBase安装 7、HBase的Shell操作 8、HBase客户端
docker版hbase集群构建,从docker安装开始,再到docker中下载并运行hadoop镜像,之后下载并配置hbase。最后对整个流程做总结,遇到的问题,以及一些docker基础知识和hbase教程。
在这个“hbase_常用配置参数_以及学习笔记讲解_以及各种原理图.zip”压缩包中,包含了一系列关于HBase关键概念、配置参数和原理的资料,通过以下几部分来详细介绍这些内容: 1. **HBase架构原理**: HBase采用列式...
【标题】:“hadoop,hive,hbase学习资料”是一份综合性的学习资源,涵盖了大数据处理领域中的三个核心组件——Hadoop、Hive和Hbase。这些工具在大数据处理和分析中发挥着至关重要的作用。 【描述】:描述指出这份...
**HBase:分布式大数据存储系统** HBase,全称为Apache HBase,是构建在Hadoop文件系统(HDFS)之上的...这份"Hbase相关的笔记"很可能包含了关于HBase的基础概念、架构、操作和优化等内容,是深入学习HBase的好资源。
本篇笔记主要围绕这两个技术进行深入探讨,结合尚硅谷的视频教程资源,旨在帮助读者全面理解并掌握这两者的核心知识。 一、Zookeeper:分布式协调服务 Zookeeper是由Apache开发的一款开源分布式协调服务,它提供了...
**HBase简介** ...通过深入学习和实践,你可以掌握HBase的基本操作,进一步了解其在大数据场景下的应用,如实时数据分析、日志存储等。HBase的灵活性和扩展性使其成为处理大规模结构化稀疏数据的首选工具之一。
这个“Hadoop学习笔记”涵盖了Hadoop生态系统中的核心组件,包括HDFS(Hadoop分布式文件系统)、HBase(一个分布式、列式存储的数据库)、Hive(数据仓库工具)以及Spark(一个快速、通用且可扩展的数据处理引擎)。...
本篇笔记主要围绕 Sqoop 的使用场景、安装步骤以及如何配合 Hive 和 Hbase 使用进行展开。 #### 二、数据传输流程设计 最初的设计方案是通过 Sqoop 将数据从 PostgreSQL 导入到 Kafka,再通过存储程序将 Kafka 的...
读书笔记:hbase权威指南学习代码