hadoop学习记录(三)HBase基本概念
这一次开始学习HBase数据库。
我用的是VMWare + ubuntu16.04 +Hbase1.1.5 +hadoop2.6.0的组合。
经过亲自安装验证,版本间没有发生冲突,可以进行学习和开发。
具体的安装过程参照了厦门大学数据实验室的安装教程,个人感觉这里面的安装步骤非常详细,非常少适合新人上手,只要懂得基本的java和linux基础即可。
下面是厦大数据实验室的链接:http://dblab.xmu.edu.cn/blog/588-2/#more-588
Hbase即hadoop database,这是一个在HFDS上的分布式数据库。与传统关系型数据库的行数据存储不同,Hbase则是以列的形式存储数据。
Hbase中RowKey是类似于传统关系型数据库中的主键,然后字段都会被存在colFamily(列族)中,然后列族中可以有不同的col(列名),colFamily:col唯一确定了一个值,插入数据的时候要定位到表明=>行键=>列族:列名,且一次只能插入一个数据。
例如现在有一个学生表,学生表里有姓名,性别,学号,成绩字段,那么HBase的表结构将会是下面这样:
| RowKey行键 | info:name | info:sex | info:number | grade:math | grade:english |
| student1 | kinsomy | ||||
| student1 | male | ||||
| student1 | 123456 | ||||
| student1 | 100 | ||||
| student1 | 100 |
每次插入一条数据,表中就形成了一个完整的记录,这就是列式数据库的基本结构。
同时每次插入一行的时候,HBase会自动附带一个时间戳timestamp来表示版本。
在定义表的时候,一个表的列族必须作为表模式定义的一部分预先给出。新的列族成员可以随后按需要加入。
例如在定义表的时候,info和grade要先随表定义好,然后可以在需要的时候加入name,math等列族中的成员。
Hbase数据库适合用在数据需要多次写入并且多次查询的场景中,并且查询条件不是很复杂的情况。
由于我才用的是伪分布式的配置,目前只采用了单个节点,因此没有master和salve之说。
HBase内部保留了名为-ROOT-和.META.的特殊目录表,他们维护者当前集群上所有区域的列表、状态和位置。—ROOT—表包含.META.表的区域列表。.META.表包含所有用户空间区域的列表,表中的项使用区域名作为键。区域名由所属的表名,区域的起始行、区域的创建时间以及对其整体进行的MD5哈希值组成。
千万记住的是,如果想要删除一个table,首先要先把该table disable掉,然后再执行删除指令。删除一个表的指令为 drop ‘tablename’。
要想查看一个表是否被disable可以在hbase shell下使用指令 is_disabled 'tablename'
该系列博文仅作为个人学习笔记。
hadoop学习记录(三)HBase基本概念的更多相关文章
- Hadoop学习笔记之HBase Shell语法练习
Hadoop学习笔记之HBase Shell语法练习 作者:hugengyong 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令 ...
- JavaScript学习记录三
title: JavaScript学习记录三 toc: true date: 2018-09-14 23:51:22 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...
- 3.VUE前端框架学习记录三:Vue组件化编码1
VUE前端框架学习记录三:Vue组件化编码1文字信息没办法描述清楚,主要看编码Demo里面,有附带完整的代码下载地址,有需要的同学到脑图里面自取.脑图地址http://naotu.baidu.com/ ...
- Hadoop学习笔记—15.HBase框架学习(基础知识篇)
HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列的存储模型,它存储的是 ...
- Hadoop学习笔记—15.HBase框架学习(基础实践篇)
一.HBase的安装配置 1.1 伪分布模式安装 伪分布模式安装即在一台计算机上部署HBase的各个角色,HMaster.HRegionServer以及ZooKeeper都在一台计算机上来模拟. 首先 ...
- leveldb 学习记录(三) MemTable 与 Immutable Memtable
前文: leveldb 学习记录(一) skiplist leveldb 学习记录(二) Slice 存储格式: leveldb数据在内存中以 Memtable存储(核心结构是skiplist 已介绍 ...
- hadoop学习记录1 初始hadoop
起因 因为工作需要用到,所以需要学习hadoop,所以记录这篇文章,主要分享自己快速搭建hadoop环境与运行一个demo 搭建环境 网上搭建hadoop环境的例子我看蛮多的.但是我看都比较复杂,要求 ...
- hadoop学习第三天-MapReduce介绍&&WordCount示例&&倒排索引示例
一.MapReduce介绍 (最好以下面的两个示例来理解原理) 1. MapReduce的基本思想 Map-reduce的思想就是“分而治之” Map Mapper负责“分”,即把复杂的任务分解为若干 ...
- hadoop学习笔记之-hbase完全分布模…
安装环境: OS: Oracle linux 5.6 JDK: jdk1.6.0_18 Hadoop: hadoop-0.20.2 Hbase: hbase-0.90.5 安装准备: 1. Jdk环境 ...
- Hadoop集群(三) Hbase搭建
前面已经完成Zookeeper和HDFS的安装,本文会详细介绍Hbase的安装步骤.以及安装过程中遇到问题的汇总. 系列文章: Hadoop集群(一) Zookeeper搭建 Hadoop集群(二 ...
随机推荐
- 通过Unity3D发布IOS版游戏
https://developer.apple.com/ 打开上面的苹果开发者网站,选择上面的"Member Center"登录进入.前提是,你注册了开发者账号,并且付了年费. 选 ...
- nodejs+express +jade模板引擎 新建项目
先 安装 nodejsiDEAAM 2015/7/16 22:47:25然后安装 npm install expressiDEAAM 2015/7/16 22:47:35然后安装 npm instal ...
- 内核参数优化/etc/sysctl.conf
net.nf_conntrack_max = 65536000net.netfilter.nf_conntrack_tcp_timeout_established = 1200net.ipv4.tcp ...
- 丁又专老师作业——Java检测代码
package com.util; import java.io.*; import java.util.regex.Pattern; /** * 代码统计工具 * 统计某个java源文件或某个目录中 ...
- Struts2运行流程分析
一.Struts2运行流程图: 二.运行流程分析: 1. 请求发送给StrutsPrepareAndExecuteFilter 2.StrutsPrepareAndExecuteFilter询问Act ...
- 【转】iOS 浅谈:深.浅拷贝与copy.strong
深.浅拷贝 copy mutableCopy NSString 1 2 3 4 5 6 NSString *string = @"汉斯哈哈哈"; // 没有产生新对象 NSStri ...
- 随便看看My97DatePicker源码J方法
如果有一个路径是写错的并且这个路径是写在前面,那么相关的css文件你就别想引进来了 <script language="javascript" type="text ...
- WS103C8例程——串口2【worldsing笔记】
在超MINI核心板 stm32F103C8最小系统板上调试Usart2功能:用Jlink 6Pin接口连接WStm32f103c8的Uart2,PC机向mcu发送数据,mcu收到数据后数据加1,回传给 ...
- 如何将std::string转int,double? (C/C++) (C) (template)
http://www.cnblogs.com/oomusou/archive/2008/08/01/525647.html http://blog.sina.com.cn/s/blog_a843a88 ...
- Python3批量爬取网页图片
所谓爬取其实就是获取链接的内容保存到本地.所以爬之前需要先知道要爬的链接是什么. 要爬取的页面是这个:http://findicons.com/pack/2787/beautiful_flat_ico ...