Hadoop 之Hbase命令
一、常用命令:(hbase shell 进入终端)
1.创建表:
create 'users','user_id','address','info'
表users,有三个列族user_id,address,info
2.列出全部表
list
3.得到标的信息
describe‘users’
4.删除表
disable 'users'
drop 'users‘
5.清空表
truncate ’users’
6.添加记录
put 'users','xiaoming','info:age','24'
put 'users','xiaoming','info:birthday','1987-06-17'
put 'users','xiaoming','info:company','alibaba'
7.获取一条记录
1.取得一个id的所有数据
get 'users','xiaoming'
2.获取一个id,一个列族的所有数据
get 'users','xiaoming','info'
3.
获取一个id,一个列族中一个列的所有数据
get 'users','xiaoming','info:age'
8.全表扫描
scan ‘users’
9.统计表的行数
count ‘users’
Hadoop 之Hbase命令
HBASE基础知识*
HBASE的集群的搭建*
HBASE Shell***
HBASE的批量导入***
HBASE的Java客户端***
HBASE的表设计*
HBASE的底层存储模型*
HBASE优化*
HBASE协处理器*
1.Hbase简介
HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。
HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。
分布式开源数据库,基于hadoop分布式文件系统(HDFS)
模仿提供了Google文件系统的BigTable数据库所有功能
处理非常庞大的表
普通计算机处理10亿条数据
利用mapreduce计算数据,利用zookeeper协调资源
2. 列式数据库的概述
列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取。
行式数据库在做一些列分析时,必须将所有列的信息全部读取出来
而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析,效率节省90%。
此外,列式数据库在每列上还有专门的列压缩算法进一步提高数据库性能,这是行式数据库不具备的。
3.Hbase数据模型-逻辑模型
表(table) 字符串
行(row) 行由行健(rowkey)唯一标识
列族(column failmy)行的数据按列族分组cf,创建表的时候定义,不轻易修改
列限定符(column qualifier)列里面的数据定位通过列限定符
单元(cell)行健,列族和列限定符一起确定一个单元,value
时间版本(vesion)单元值有时间版本,用时间戳来标识默认3个。
1)行键(RowKey)
行键是字节数组, 任何字符串都可以作为行键;
表中的行根据行键进行排序,数据按照Row key的字节序(byte order)排序存储
所有对表的访问都要通过行键
(单个RowKey访问,或RowKey范围访问,或全表扫描)2)列族(ColumnFamily)CF必须在表定义时给出
数据按CF分开存储,HBase所谓的列式存储就是根据CF分开存储
(每个CF对应一个Store),这种设计非常适合于数据分析的情形3)列限定符(column qualifier)
列里面的数据定位通过列限定符 每个CF可以有一个或多个列成员(ColumnQualifier),
列成员不需要在表定义时给出,新的列族成员可以随后按需、动态加入
4)时间戳(TimeStamp)
每个Cell可能又多个版本,它们之间用时间戳区分5)单元格(Cell)Value
Cell 由行键,列族:限定符,时间戳唯一决定
Cell中的数据是没有类型的,全部以字节码形式存贮
4. hbase 数据模型-物理模型
物理数据模型其实就是将逻辑模型中的一个Row分割成为根据Column family存储的物理模型。
对于BigTable的数据模型操作的时候,会锁定Row,并保证Row的原子操作。
Hbase由行和列组成行按照((列族)) 划分
每个列族在硬盘上都自己的HFile(二进制文件,不能直接读取)
HFile:一个列族可以有多个HFile,但是一个HFile不能储存多个列族(Column),每个列族都有一个MemStore
一行中的一个列族数据不一定存放在同一个HFile里,一行中的列族数据需要物理的存放在一起
HBase表是横向划分为很多region的
region是存放在不同的region server的。
5.
详细的讲解hbase原理
http://www.cnblogs.com/shitouer/archive/2012/06/04/2533518.html
6. habase shell 命令
http://www.cnblogs.com/kaituorensheng/p/3814925.html
7.查询同一条记录的多个版本
http://blog.csdn.net/wind520/article/details/39344805
8
Hadoop 之Hbase命令的更多相关文章
- Hadoop生态圈-hbase常用命令
Hadoop生态圈-hbase常用命令 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.
- 暑期——第八周总结(1,安装好hadoop之后访问http://localhost:50070,无法连接【已解决】 2,Hbase命令详解)
所花时间:7天 代码行:800(Java) 博客量:1篇 了解到知识点 : 一:http://localhost:50070无法访问 安装好hadoop之后 输入所有东西都有 可就是访问50070无法 ...
- hadoop(九) - hbase shell命令及Java接口
一. shell命令 1. 进入hbase命令行 ./hbase shell 2. 显示hbase中的表 list 3. 创建user表,包括info.data两个列族 create 'user' ...
- 使用ganglia监控hadoop及hbase集群
一.Ganglia简介 Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点.每台计算机都运行一个收集和发送度量数据(如处理器速度.内存使用量等)的名为 gm ...
- 【hbase0.96】基于hadoop搭建hbase的心得
hbase是基于hadoop的hdfs框架做的分布式表格存储系统,所谓表格系统就是在k/v系统的基础上,对value部分支持column family和column,并支持多版本读写. hbase的工 ...
- 使用Ganglia监控hadoop、hbase
Ganglia是一个监控服务器,集群的开源软件,能够用曲线图表现最近一个小时,最近一天,最近一周,最近一月,最近一年的服务器或者集群的cpu负载,内存,网络,硬盘等指标. Ganglia的强大在于:g ...
- Hbase总结(一)-hbase命令,hbase安装,与Hive的区别,与传统数据库的区别,Hbase数据模型
Hbase总结(一)-hbase命令 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', ...
- hbase命令备忘
http://www.cnblogs.com/linjiqin/archive/2013/03/08/2949339.html HBase 为用户提供了一个非常方便的使用方式, 我们称之为“HBase ...
- 基于Hadoop技术实现的离线电商分析平台(Flume、Hadoop、Hbase、SpringMVC、highcharts)
离线数据分析平台是一种利用hadoop集群开发工具的一种方式,主要作用是帮助公司对网站的应用有一个比较好的了解.尤其是在电商.旅游.银行.证券.游戏等领域有非常广泛,因为这些领域对数据和用户的特性把握 ...
随机推荐
- (转载)最长递增子序列 O(NlogN)算法
原博文:传送门 最长递增子序列(Longest Increasing Subsequence) 下面我们简记为 LIS. 定义d[k]:长度为k的上升子序列的最末元素,若有多个长度为k的上升子序列,则 ...
- 对iOS中Delegate的理解
首先 协议protocol 和委托delegate 是两个完全不同的概念 放在一起说 是因为我们总是在同一个头文件里看到它们: 首先解释一下什么是委托 :举个例子 ,我工作的时候给你打电话,让你帮我 ...
- HTML5学习总结-01 开发环境和历史
1 搭建HTML5开发环境 1 安装一款支持HTML5的浏览器 FireFox, Chrome 2 开发工具 SublineText, Eclipse, HBuilder, WebStorm 注:使用 ...
- 2 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之MySql的搭建
preface 上一节我们讲了DRBD的原理,以及如何部署DRBD,那么现在在上一节的基础上部署Mysql 安装并启动Mysql 为了方便,我一般采用yum安装Mysql.命令如下: 在172.16. ...
- POJ2239 Selecting Courses(二分图最大匹配)
题目链接 N节课,每节课在一个星期中的某一节,求最多能选几节课 好吧,想了半天没想出来,最后看了题解是二分图最大匹配,好弱 建图: 每节课 与 时间有一条边 #include <iostream ...
- JavaScript中的事件对象
JavaScript中的事件对象 JavaScript中的事件对象是非常重要的,恐怕是我们在项目中使用的最多的了.在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含这所有与事件有 ...
- angularjs中ng-selected使用方法
ng-selected只能应用在option标签上,就像ng-submit只能应用在form标签上一样. ng-selected指令为select设置了指定的选中值,HTML规范不允许浏览器保存类似s ...
- Oracle数据库的备份方法
1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据 ...
- CSS学习笔记——选择器
选择器 当我们定义一条样式规则时候,这条样式规则会作用于网页当中的某些元素,而我们的规定的这些元素的规则就叫做选择器. 常用的选择器: 1.id选择器 #idname 2.类选择器 .classnam ...
- Android学习笔记——CheckBox
该工程的功能实现在一个activity中显示一个单选框和一个多选框 以下代码是MainActivity.java文件中的代码 package com.example.checkbox; import ...
