编辑: 霜天盈月祭 | 2017-10-02 |
huawei.com 版权所有?
2015 华为技术有限公司 HBase二次开发 第1页 版权所有?
2015 华为技术有限公司 前言 ? HBase是一个高可靠性、高性能、面向列、可伸缩的分布式 数据库,设计目标是用来解决关系型数据库在处理海量数据 时的局限性. ? 本章主要介绍HBase的接口以及二次开发的使用指导. 第2页 版权所有?
2015 华为技术有限公司 目录 1. HBase常用接口介绍 2. 常用Shell接口 3. 常用Java接口 第3页 版权所有?
2015 华为技术有限公司 HBase常用接口 客户端使用主要方式: ?HBase Shell HBase的命令行工具,最简单的接口,适合 HBase管理使用. ?Java API HBase客户端程序通过底层RPC接口与HBase 集群进行通信,客户程序直接集成HBase的Java包,通过调用相关API即可完成操作. 其余接口: ?REST 接口 REST(Representational State Transfer)表述性状态转 移接口. ? Thrift接口 Thrift 是一个基于静态代码生成的跨语言的RPC协议栈实 现,它可以生成包括C++, Java, Python, Ruby, PHP 等主 流语言的代码,这些代码实现了 RPC 的协议层和传输层 功能,从而让用户可以集中精力于服务的调用和实现. ? Avro接口 Avro是一个数据序列化系统,设计用于支持大批量数据 交换的应用. 第4页 版权所有?
2015 华为技术有限公司 目录 1. HBase常用接口介绍 2. 常用Shell接口 3. 常用Java接口 第5页 版权所有?
2015 华为技术有限公司 常用Shell接口C 连接 通过/hbase shell来连接正在运行的HBase Shell客户端 用法: // 安全登录,在进入hbase shell客户端之前,需要进行安装客户端和用户登录的准备工作,具体需要参考CPI文档中《安 装与使用客户端》章节 //进入HBase shell客户端 # .bin/hbase shell HBase Shell;
enter '
help'
for list of supported commands. Type exit to leave the HBase Shell Version 0.94.0, r, Sun Aug
26 22:12:56 CST
2012 hbase(main):001:0>
第6页 版权所有?
2015 华为技术有限公司 常用Shell接口C 创建表 创建表时,可以选择多个参数,但表名和列族名是必须的参数,其它参数还包括版本数、TTL 以及预分Region建表的key数组等 用法: hbase>
create '
t1'
, {NAME =>
'
f1'
, VERSIONS =>
5} hbase>
create '
t1'
, {NAME =>
'
f1'
}, {NAME =>
'
f2'
}, {NAME =>
'
f3'
} hbase>
# The above in shorthand would be the following: hbase>
create '
t1'
, '
f1'
, '
f2'
, '
f3'
hbase>
create '
t1'
, {NAME =>
'
f1'
, VERSIONS =>
1, TTL =>
2592000, BLOCKCACHE =>
true} hbase>
create '
t1'
, '
f1'
, {SPLITS =>
['
10'
, '
20'
, '
30'
, '
40'
]} hbase>
create '
t1'
, '
f1'
, {SPLITS_FILE =>
'
splits.txt'
} hbase>
# Optionally pre-split the table into NUMREGIONS, using hbase>
# SPLITALGO ( HexStringSplit , UniformSplit or classname) hbase>
create '
t1'
, '
f1'
, {NUMREGIONS =>
15, SPLITALGO =>
'
HexStringSplit'
} 第7页 版权所有?
2015 华为技术有限公司 常用Shell接口C 插入一行数据Put Put数据时,必选参数是表名、RowKey、列名(包括列族和列名)和值,可选参 数包括时间戳 用法: hbase>