大数据(二十七)HBASE【Hbase 综述】
来源:互联网 发布:string.h 51单片机 编辑:程序博客网 时间:2024/05/22 14:12
HADOOP生态系统
其中:
Zookeeper:分布式协作服务组件,管理Hadoop相关组件
Flume:日志收集工具
Sqoop:关系型数据库ETL工具【ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。】
Mahout:数据挖掘插件,里面有可供调用的算法包(MapReduce编写的),可以直接调用
Hive:数据仓库(将类SQL翻译为MapRedue)
Pig:将脚本语言翻译为MapReduce,其使用的是自己的语言Pig Latin。
Hbase:实时、分布式、高纬数据库(按列存储的非关系型数据库),其依赖于HDFS。
Hbase
一、Hbase简介:
1、Hbase(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库。
解释:
高可靠性:HDFS保证数据高可靠性;Zookeeper保证服务高可靠性。
高性能:上亿数据是Hbase的初级数据量,而这对于关系型数据库来说已经心有余而力不足了。
面向列:与关系型数据库面向行的数据不同,Hbase数据是面向列的。
可伸缩:集群可大可小。
实时读写:Hbase响应是ms级别的
2、利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为其分布式协同服务。
3、主要用来存储非结构化和半结构化的松散数据(列存 NoSQL 数据库)。
二、Hbase数据模型展示
上图中在关系型数据库看来是一张表,但是在Hbase看来是一行数据。其中有几个重要的概念:
ROW KEY、Column Family列族、Timestamp时间戳。
举例说明:
假设我们要存储一个用户信息,其包含如下信息【姓名、性别、爱好(多个)、地址(多个)】。
在关系型数据库中:我们需要建三张表【用户表(id、姓名);爱好表(id、用户id、爱好);地址表(id、用户id、地址)】。
但是在非关系型数据库中:我们只需要一个记录既可以完成。如下图所示。
三、Hbase数据模型概念
1、ROW KEY
– 决定一行数据
– 按照字典顺序排序的。
– Row key只能存储64k的字节数据
2、Column Family列族 & qualifier列
– HBase表中的每个列都归属于某个列族,列族必须作为表模式(schema)定义的一部分预先给出。如 create ‘test’, ‘course’;
– 列名以列族作为前缀,每个“列族”都可以有多个列成员(column);如course:math, course:english, 新的列族成员(列)可以随后按需、动态加入;
– 权限控制、存储以及调优都是在列族层面进行的;
– HBase把同一列族里面的数据存储在同一目录下,由几个文件保存。
3、Timestamp时间戳
– 在HBase每个cell存储单元对同一份数据有多个版本,根据唯一的时间戳来区分每个版本之间的差异,不同版本的数据按照时间倒序排序,最新的数据版本排在最前面。
– 时间戳的类型是 64位整型。
– 时间戳可以由HBase(在数据写入时自动)赋值,此时时间戳是精确到毫秒的当前系统时间。
– 时间戳也可以由客户显式赋值,如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。
4、Cell单元格
– 由行和列的坐标交叉决定;
– 单元格是有版本的;
– 单元格的内容是未解析的字节数组;
• 由 {row key, column( =<family> +<qualifier>), version} 唯一确定的单元。cell中的数据是没有类型的,全部是字节码形式存贮。
5、HLog(WAL log)
– HLog文件就是一个普通的Hadoop Sequence File,Sequence File 的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了table和region名字,同时还包括 sequence number timestamp,timestamp是”写入时间”,sequence number的起始值为0,或者是最近一次存入文件系统中sequence number。
– HLog SequeceFile的Value是HBase的KeyValue对象,即对应HFile中的KeyValue。
- 大数据(二十七)HBASE【Hbase 综述】
- 大数据学习笔记之二十七 Hadoop的HBase
- 大数据(二十八)HBASE【Hbase 体系架构】
- 大数据(三十二)HBASE【Hbase JavaAPI访问HBase】
- 互联网大数据框架介绍(二)Hive,HBase
- 大数据(二十九)HBASE【Hbase 环境安装 -- 单机版standalone】
- Hbase数据迁移(二)
- 云计算(二十七)- 安装Zookeeper和hbase
- HBase加载大数据
- hbase加载大数据
- HBase加载大数据
- 大数据(五) - HBase
- 大数据之Hbase
- 大数据(三十一)HBASE【Hbase Shell 常用命令】
- 大数据(三十五)HBASE【mapreduce操作hbase】
- 大数据技术-HBase:HBase简介
- 大数据技术-HBase:HBase写入路径
- 大数据技术-HBase:HBase IO HFile
- 回溯法
- 《Android 群英传》读书笔记:自定义 View -- 弧线展示图
- UI控件 ->TextField
- 论文笔记:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
- eclipse+maven搭建web项目
- 大数据(二十七)HBASE【Hbase 综述】
- Linux 文件权限全是问号,无法操作
- 洛谷P2604 [ZJOI2010]网络扩容
- 商城项目总结
- 语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet
- 开发环境搭建记录
- cf div2 #444 (ABC)(D已补)
- 算法笔记C/C++之基本数据类型
- android 系统控件篇---spinner