HBase 实现数据同步 ElasticSearch

HBase 作为 NoSQL 或列式数据库,虽然解决了海量数据存储需求,但查询满足非常有限。因为访问 HBase 表中的行,只有三种方式:

  1. 通过单个RowKey
  2. 通过RowKey的range(最好是前缀扫描)
  3. 全表扫描
查看全文 →

Linux/Mac 下伪分布式 HBase 开发测试环境

准备工作

Mac 下不要使用brew 来安装Hadoop相关软件,因为各组件之间的版本可能不兼容:

查看全文 →

HBase Indexer 整合 Solr

Lily HBase Indexer提供了快速、简单的HBase的内容检索方案,它可以帮助你在Solr中建立HBase的数据索引,从而通过Solr进行数据检索。由于索引过程是异步的,所以并不影响HBase的写负载,同时借助 SolrCloud 可实现分布式索引。

该项目起源于多年研究HBase索引方案的平台Lily。

查看全文 →

Hive/Impala 整合 HBase

Hive 整合 HBase

查看全文 →

HBase 之RowKey特性与设计

HBase 之RowKey特性与设计

查看全文 →

HBase VS MySQL 性能测试

HBase 1.0.0
MySQL 5.6

查看全文 →

Hbase 集群需求

HBase 之Thrift Server

通过 Thrift 操作 HBase

查看全文 →

HBase 之Block Cache 实现机制

HBase上Regionserver的内存分为两个部分:
一部分作为Memstore,主要用来写,
另一部分作为BlockCache,主要用于读。

查看全文 →

HBase 之数据的导入与导出

  • 使用Hbase的Put API 不适合快速的导入大数据
  • 使用Hbase的bulkload工具 大量数据导入最有效的方式,importtsv是个内置工具,以MapReduce任务的方式,可以将TSV文件转换成Hbase底层格式
  • 使用MapReduce任务 从其他格式或者数据是动态产生,比较灵活,但是设计不当,会造成性能底下。
  • Sqoop 导入 将Hadoop和关系型数据库的数据互相转移的工具,通过mapReduce任务。
  • DataX 不好用
  • Kettle 不会用
查看全文 →

HBase 之简介与基本概念

HBase 是一个构建在HDFS之上的、 可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库,主要用于存储海量数据。
和传统关系数据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。

HBase 数据模型:Schema-->Table-->Column Family-->Column-->RowKey-->TimeStamp-->Value

查看全文 →