
HBase
hei bai ying
这个作者很懒,什么都没留下…
展开
-
HBase 系列(一)—— HBase简介
一、Hadoop的局限HBase是一个构建在Hadoop文件系统之上的面向列的数据库管理系统。 要想明白为什么产生HBase,就需要先了解一下Hadoop存在的限制?Hadoop可以通过HDFS来存储结构化、半结构甚至非结构化的数据,它是传统数据库的补充,是海量数据存储的最佳方法,它针对大文件的存储,批量访问和流式访问都做了优化,同时也通过多副本解决了容灾问题。但是Hadoop的缺陷在于...原创 2019-06-07 16:42:42 · 775 阅读 · 0 评论 -
HBase 系列(二)—— HBase系统架构及数据结构
一、基本概念一个典型的Hbase Table 表如下: 2.1 Row Key (行键)Row Key是用来检索记录的主键。想要访问HBase Table中的数据,只有以下三种方式:通过指定的Row Key进行访问;通过Row Key的range进行访问,即访问指定范围内的行;进行全表扫描。Row Key可以是任意字符串,存储时数据按照Row Key的字典序进行排序。这里需要...原创 2019-06-07 16:42:55 · 1095 阅读 · 0 评论 -
HBase 系列(三)—— HBase基本环境搭建
一、安装前置条件说明1.1 JDK版本说明HBase 需要依赖JDK环境,同时HBase 2.0+ 以上版本不再支持JDK 1.7 ,需要安装JDK 1.8+ 。JDK 安装方式见本仓库:Linux环境下JDK安装1.2 Standalone模式和伪集群模式的区别在Standalone模式下,所有守护进程都运行在一个jvm进程/实例中;在伪分布模式下,HBase仍然在单个主机上运...原创 2019-06-07 16:43:01 · 441 阅读 · 0 评论 -
HBase 系列(四)—— HBase集群环境配置
一、集群规划这里搭建一个3节点的HBase集群,其中三台主机上均为Regin Server。同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002上部署备用的Master服务。Master服务由Zookeeper集群进行协调管理,如果主Master不可用,则备用Master会成为新的主Master。 二、前置条件HBase的运行需要依赖Hadoop...原创 2019-06-07 16:43:14 · 376 阅读 · 0 评论 -
HBase 系列(五)——HBase常用 Shell 命令
一、基本命令打开Hbase Shell:# hbase shell1.1 获取帮助# 获取帮助help# 获取命令的详细信息help 'status'1.2 查看服务器状态status1.3 查看版本信息version二、关于表的操作2.1 查看所有表list2.2 创建表命令格式: create ‘表名称’, ‘列族名称1’,‘列族名称2’,‘列名称N’...原创 2019-06-07 16:43:38 · 22951 阅读 · 0 评论 -
HBase 系列(六)——HBase Java API 的基本使用
一、简述截至到目前(2019.04),HBase 有两个主要的版本,分别是1.x 和 2.x ,两个版本的Java API有所不同,1.x 中某些方法在2.x中被标识为@deprecated过时。所以下面关于API的样例,我会分别给出1.x和2.x两个版本。完整的代码见本仓库:Java API 1.x ExamplesJava API 2.x Examples同时你使用的客户端的版...原创 2019-06-07 16:43:46 · 806 阅读 · 1 评论 -
HBase 系列(七)——HBase过滤器详解
一、HBase过滤器简介Hbase提供了种类丰富的过滤器(filter)来提高数据处理的效率,用户可以通过内置或自定义的过滤器来对数据进行过滤,所有的过滤器都在服务端生效,即谓词下推(predicate push down)。这样可以保证过滤掉的数据不会被传送到客户端,从而减轻网络传输和客户端处理的压力。 二、过滤器基础2.1 Filter接口和FilterBase抽象类Filter...原创 2019-06-07 16:43:53 · 9353 阅读 · 3 评论 -
HBase 系列(八)——HBase协处理器
一、简述在使用HBase时,如果你的数据量达到了数十亿行或数百万列,此时能否在查询中返回大量数据将受制于网络的带宽,即便网络状况允许,但是客户端的计算处理也未必能够满足要求。在这种情况下,协处理器(Coprocessors)应运而生。它允许你将业务计算代码放入在RegionServer的协处理器中,将处理好的数据再返回给客户端,这可以极大地降低需要传输的数据量,从而获得性能上的提升。同时协处理器...原创 2019-06-07 16:44:00 · 1204 阅读 · 1 评论 -
HBase 系列(九)——HBase容灾与备份
一、前言本文主要介绍Hbase常用的三种简单的容灾备份方案,即CopyTable、Export/Import、Snapshot。分别介绍如下:二、CopyTable2.1 简介CopyTable可以将现有表的数据复制到新表中,具有以下特点:支持时间区间 、row区间 、改变表名称 、改变列族名称 、以及是否Copy已被删除的数据等功能;执行命令前,需先创建与原表结构相同的新表;Co...原创 2019-06-07 16:44:05 · 1093 阅读 · 0 评论 -
HBase 系列(十)—— HBase的SQL中间层 Phoenix
一、Phoenix简介Phoenix是HBase的开源SQL中间层,它允许你使用标准JDBC的方式来操作HBase上的数据。在Phoenix之前,如果你要访问HBase,只能调用它的Java API,但相比于使用一行SQL就能实现数据查询,HBase的API还是过于复杂。Phoenix的理念是we put sql SQL back in NOSQL,即你可以使用标准的SQL就能完成对HBase上...原创 2019-06-07 16:44:10 · 739 阅读 · 0 评论 -
HBase 系列(十一)—— Spring/Spring Boot + Mybatis + Phoenix 整合
一、前言使用Spring+Mybatis操作Phoenix和操作其他的关系型数据库(如Mysql,Oracle)在配置上是基本相同的,下面会分别给出Spring/Spring Boot 整合步骤,完整代码见本仓库:Spring + Mybatis + PhoenixSpringBoot + Mybatis + Phoenix二、Spring + Mybatis + Phoenix2....原创 2019-06-07 16:44:41 · 4928 阅读 · 1 评论