一.Phoenix简介 Phoenix是HBase的开源SQL中间层,它允许你使用标准JDBC的方式来操作HBase上的数据.在Phoenix之前,如果你要访问HBase,只能调用它的Java API,但相比于使用一行SQL就能实现数据查询,HBase的API还是过于复杂.Phoenix的理念是we put sql SQL back in NOSQL,即你可以使用标准的SQL就能完成对HBase上数据的操作.同时这也意味着你可以通过集成Spring Data JPA或Mybatis等常用的持久层…
一.前言 本文主要介绍Hbase常用的三种简单的容灾备份方案,即CopyTable.Export/Import.Snapshot.分别介绍如下: 二.CopyTable 2.1 简介 CopyTable可以将现有表的数据复制到新表中,具有以下特点: 支持时间区间 .row区间 .改变表名称 .改变列族名称 .以及是否Copy已被删除的数据等功能: 执行命令前,需先创建与原表结构相同的新表: CopyTable的操作是基于HBase Client API进行的,即采用scan进行查询, 采用put…
产生背景 自 1970 年以来,关系数据库用于数据存储和维护有关问题的解决方案.大数据的出现后, 好多公司实现处理大数据并从中受益,并开始选择像 Hadoop 的解决方案.Hadoop 使用分 布式文件系统,用于存储大数据,并使用 MapReduce 来处理.Hadoop 擅长于存储各种格式 的庞大的数据,任意的格式甚至非结构化的处理. Hadoop 的限制 Hadoop 只能执行批量处理,并且只以顺序方式访问数据.这意味着必须搜索整个数据集, 即使是最简单的搜索工作. 当处理结果在另一个庞大的…
一.Hadoop的局限 HBase是一个构建在Hadoop文件系统之上的面向列的数据库管理系统. 要想明白为什么产生HBase,就需要先了解一下Hadoop存在的限制?Hadoop可以通过HDFS来存储结构化.半结构甚至非结构化的数据,它是传统数据库的补充,是海量数据存储的最佳方法,它针对大文件的存储,批量访问和流式访问都做了优化,同时也通过多副本解决了容灾问题. 但是Hadoop的缺陷在于它只能执行批处理,并且只能以顺序方式访问数据,这意味着即使是最简单的工作,也必须搜索整个数据集,无法实现对…
前提 1.HBase 依赖于 HDFS 做底层的数据存储 2.HBase 依赖于 MapReduce 做数据计算 3.HBase 依赖于 ZooKeeper 做服务协调 4.HBase源码是java编写的,安装需要依赖JDK 版本选择 打开官方的版本说明http://hbase.apache.org/1.2/book.html JDK的选择 Hadoop的选择 此处我们的hadoop版本用的的是2.7.5,HBase选择的版本是1.2.6 安装 1.zookeeper的安装 参考http://w…
协处理器—Coprocessor 1. 起源 Hbase 作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执 行求和.计数.排序等操作.比如,在旧版本的(<0.92)Hbase 中,统计数据表的总行数,需 要使用 Counter 方法,执行一次 MapReduce Job 才能得到.虽然 HBase 在数据存储层中集成 了 MapReduce,能够有效用于数据表的分布式计算.然而在很多情况下,做一些简单的相 加或者聚合计算的时候,如果直接将计算过程放置在 server 端,…
进入HBase命令行 在你安装的随意台服务器节点上,执行命令:hbase shell,会进入到你的 hbase shell 客 户端 [hadoop@hadoop1 ~]$ hbase shell SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding /lib/slf4j-log4j12-.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found…
一.简述 在使用HBase时,如果你的数据量达到了数十亿行或数百万列,此时能否在查询中返回大量数据将受制于网络的带宽,即便网络状况允许,但是客户端的计算处理也未必能够满足要求.在这种情况下,协处理器(Coprocessors)应运而生.它允许你将业务计算代码放入在RegionServer的协处理器中,将处理好的数据再返回给客户端,这可以极大地降低需要传输的数据量,从而获得性能上的提升.同时协处理器也允许用户扩展实现HBase目前所不具备的功能,如权限校验.二级索引.完整性约束等. 二.协处理器类…
一.简述 截至到目前(2019.04),HBase 有两个主要的版本,分别是1.x 和 2.x ,两个版本的Java API有所不同,1.x 中某些方法在2.x中被标识为@deprecated过时.所以下面关于API的样例,我会分别给出1.x和2.x两个版本.完整的代码见本仓库: Java API 1.x Examples Java API 2.x Examples 同时你使用的客户端的版本必须与服务端版本保持一致,如果用2.x版本的客户端代码去连接1.x版本的服务端,会抛出NoSuchColu…
Hadoop之HBASE 一.HBASE简介 HBase是一个开源的.分布式的,多版本的,面向列的,半结构化的NoSql数据库,提供高性能的随机读写结构化数据的能力.它可以直接使用本地文件系统,也可以使用Hadoop的HDFS文件存储系统.不过,为了提高数据的可靠性和系统的健壮性,并且发挥HBase处理大数据的能力,使用HDFS作为文件存储系统才更为稳妥. HBase存储的数据从逻辑上来看就像一张很大的表,并且它的数据列可以根据需要动态地增加.除此之外,每个单元(cell,由行和列所确定的位置)…