HBase
贾诩是也
走过很多弯路,一直坚强、执着的眺望着远方、、、一个听着小米布斯故事成长起来的老码农。不忘初心,方得始终、、、给自己鼓劲加油,为这个时代华丽的时代喝彩!
展开
-
Phoenix实现用SQL查询HBase
HBase,一个NoSQL数据库,可存储大量非关系型数据。HBase,可以用HBase shell进行操作,也可以用HBase Java api进行操作。HBase虽然是一个数据库,但是它的查询语句,很不太好用。要是能像使用Mysql等关系型数据库一样用sql语句操作HBase,那就很Perfect了。现有工具有很多Hive,Tez,Impala,Shark/Spark,Phoenix等。转载 2017-08-10 00:27:37 · 6144 阅读 · 0 评论 -
Hbase中的Coprocessor (总结7)
1.起因(Why HBase Coprocessor)HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的(统计数据表的总行数,需要使用Counter方法,执行一次MapReduce Job才能得到。虽然HBase在数据存储层中集成了MapReduce,能够有效用于数据表的分布式计算。然而在很多情况下,做一些简单转载 2017-09-09 10:33:56 · 309 阅读 · 0 评论 -
Bloom Filter概念和原理 (总结8)
Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误”的应用场合。而在能容忍低错误率的应用场合下,Bloom转载 2017-09-09 10:35:04 · 285 阅读 · 0 评论 -
Hhase性能调优 (总结9)
因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果。所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正。配置优化zookeeper.session.timeout默认值:3分钟(180000ms)说明:RegionServer与Zookeeper间的连接超时时间。当超时时间到后,ReigonSe转载 2017-09-09 10:35:54 · 1279 阅读 · 0 评论 -
hbase Java API 介绍及使用示例 (总结10)
几个相关类与HBase数据模型之间的对应关系java类HBase数据模型HBaseAdmin数据库(DataBase)HBaseConfigurationHTable表(Table)HTableDescriptor列族(Column Family)Put列修饰转载 2017-09-10 12:18:19 · 461 阅读 · 0 评论 -
Java API 与HBase交互实例 (总结11)
HBase提供了Java Api的访问接口,掌握这个就跟Java应用使用RDBMS时需要JDBC一样重要 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguratio原创 2017-09-10 12:18:29 · 304 阅读 · 0 评论 -
HBase Shell 常用命令及例子 (总结12)
下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下:名称命令表达式创建表create '表名称', '列名称1','列名称2','列名称N'添加记录 put '表名称', '行名称', '列名称:', '值'转载 2017-09-10 12:18:40 · 258 阅读 · 0 评论 -
Linux下用Eclipse构建HBase开发环境 (总结13)
Eclipse,HBase版本目前没有发现需要特别指定1:从HBase集群中复制一份Hbase部署文件,放置在开发端某一目录下(如在/app/hadoop/hbase096目录下)。2:在eclipse里新建一个java项目HBase,然后选择项目属性,在Libraries->Add External JARs...,然后选择/app/hadoop/hbase096/lib下相关的JAR包原创 2017-09-10 12:18:51 · 623 阅读 · 0 评论 -
HBase数据恢复 (总结14)
每个HRegionServer中都会有一个HLog对象,HLog是一个实现Write Ahead Log的类,每次用户操作写入Memstore的同时,也会写一份数据到HLog文件,HLog文件定期会滚动出新,并删除旧的文件(已持久化到StoreFile中的数据)。当HRegionServer意外终止后,HMaster会通过Zookeeper感知,HMaster首先处理遗留的HLog文件,将原创 2017-09-10 12:19:10 · 498 阅读 · 0 评论 -
HBase原理讲解 (总结15)
前提是大家至少了解HBase的基本需求和组件。从大家最熟悉的客户端发起请求开始讲起吧,这样大家能够深有体会的逐步了解原理。比如我们发起了一条PUT请求,客户端首先需要查找到需要响应请求的REGIONSERVER。 记录region->regionserver映射是由HBASE系统表.META.记录的。所以我们只要知道. META.表的位置就能知道每个region响应的key的范围原创 2017-09-10 12:19:27 · 261 阅读 · 0 评论 -
LSM理解 (总结6)
讲LSM树之前,需要提下三种基本的存储引擎,这样才能清楚LSM树的由来:哈希存储引擎 是哈希表的持久化实现,支持增、删、改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-value的插入以及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)快,如果不需要有序的遍历数据,哈希表就是your Mr.RightB树存储引擎是B树(关于B树的原创 2017-09-09 10:32:32 · 999 阅读 · 0 评论 -
hbase常识及habse适合什么场景 (总结5)
当我们对于数据结构字段不够确定或杂乱无章很难按一个概念去进行抽取的数据适合用使用什么数据库?答案是什么,如果我们使用的传统数据库,肯定留有多余的字段,10个不行,20个,但是这个严重影响了质量。并且如果面对大数据库,pt级别的数据,这种浪费更是严重的,那么我们该使用是什么数据库?hbase数个不错的选择,那么我们对于hbase还存在下列问题:1.Column Family代表什么?原创 2017-09-09 10:31:08 · 608 阅读 · 0 评论 -
Hbase与Hive的区别与联系 (总结3)
问题导读:hive与hbase的底层存储是什么?hive是产生的原因是什么?habase是为了弥补hadoop的什么缺陷?共同点:1.hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储区别:2.Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作原创 2017-09-09 10:25:42 · 273 阅读 · 0 评论 -
HBase设计之HBase配置管理类接口设计(4)
利用Eclipse进行HBase应用开发时,至少需要确定三个配置信息,如下表所示:#hbase config#HMaster服务部署主机及端口号hbase.master=hdp-wuyong:60010#Zookeeper端口号hbase.zookeeper.property.clientPort=2181#Zookeeper服务部署主机信息hbase.zookeeper.原创 2017-08-10 00:28:01 · 373 阅读 · 0 评论 -
HBase设计之RowKey行键生成器工具(3)
所谓RowKey行键生成器,是指通过软件工具制定行键生成策略,并可将策略信息保存成本地策略文件,待需要时再将本地策略文件序列化成行键生成策略对象,传入数据行信息后可自动生成RowKey行键。那么,为什么要设计这个行键生成器呢?最初的时候,我们有一个需求,要把Oracle中的若干大表数据导入到HBase中,那么这里就出现了一个问题:那么多表,每个表的RowKey生成规则都是不一样的,难道我们要为原创 2017-08-10 00:28:23 · 1882 阅读 · 0 评论 -
HBase设计之RowKey行键设计规范(2)
2. RowKey行键设计规范2.1. RowKey四大特性2.1.1 字符串类型虽然行键在HBase中是以byte[]字节数组的形式存储的,但是建议在系统开发过程中将其数据类型设置为String类型,保证通用性;如果在开发过程中将RowKey规定为其他类型,譬如Long型,那么数据的长度将可能受限于编译环境等所规定的数据长度。常用的行键字符串有以下几种:纯数字字符串,譬如原创 2017-08-10 00:28:34 · 1201 阅读 · 0 评论 -
HBase设计规范之我见(1)
1. HBase设计规范之前,HBase官方和大批的高人已经总结了一部分HBase设计方面的规范,笔者进行了搜集整理,再加上自己的理解和丰富,就整理出了一份自己感觉适合自己开发所应遵循的规范。Hbase中与表结构相关的逻辑模型涉及到以下几个词汇:命名空间、表、列族、列、行键、版本等,这些是构建hbase表的所有元素。笔者就依据这几个关键词汇,陈述下相关的规范。1.1. Namespac原创 2017-08-10 00:28:44 · 1105 阅读 · 0 评论 -
HBase关键算法/流程
一、Region定位系统如何找到某个行键(或者某个行键范围)所在的Region?Hbase 中有两张特殊的表:-ROOT-和.META..META.:记录了用户表的Region信息,.META.可以有多个regoin-ROOT-:记录了.META.表的Region信息,-ROOT-只有一个regionZookeeper 中记录了-ROOT-表的locatio原创 2017-08-12 22:06:30 · 896 阅读 · 0 评论 -
各hbase版本对hadoop各版本的支持情况
http://hbase.apache.org/book.html#configuration HadoopThe following table summarizes the versions of Hadoop supported with each version of HBase. Based on the version of HBase, you should sele翻译 2017-09-13 10:13:42 · 580 阅读 · 0 评论 -
通过MR读数据,往Hbase中写数据
1,首先是map类:package com.Hbase.maptohbase;import Java.io.IOException;import org.apache.Hadoop.mapreduce.Mapper;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;public cl原创 2017-08-27 18:10:30 · 2035 阅读 · 0 评论 -
hbase命令 (总结1)
下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下:名称命令表达式创建表create '表名称', '列名称1','列名称2','列名称N'添加记录 put '表名称', '行名称', '列名称:', '值'查看记录原创 2017-09-09 10:20:16 · 222 阅读 · 0 评论 -
hbase安装 (总结2)
本篇介绍两种HBase的安装方式:本地安装方式和伪分布式安装方式。安装的前提条件是已经成功安装了hadoop,而且hadoop的版本要和hbase的版本相匹配。我将要安装的hbase是hbase-0.94.11版本,需要的hadoop是hadoop-1.2.1版本。hbase下载地址:http://mirror.bit.edu.cn/apache/hbase/hbase-0转载 2017-09-09 10:24:01 · 2960 阅读 · 0 评论 -
Hbase与传统数据库的区别 (总结4)
在说HBase之前,我想再唠叨几句。做互联网应用的哥们儿应该都清楚,互联网应用这东西,你没办法预测你的系统什么时候会被多少人访问,你面临的用户到底有多少,说不定今天你的用户还少,明天系统用户就变多了,结果您的系统应付不过来了了,不干了,这岂不是咱哥几个的悲哀,说时髦点就叫“杯具啊”。其实说白了,这些就是事先没有认清楚互联网应用什么才是最重要的。从系统架构的角度来说,互联网应用更加看重系统性转载 2017-09-09 10:28:34 · 2038 阅读 · 0 评论