开发者学堂课程【HBase入门教程:HBase代码_1】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/397/detail/5073
HBase代码_1
一、创建查询通话详单项目示例
1.HBase 存储数据库
电信行业中手机等通信工具产生的数据量巨大,用户可以查询移动、联通等在一定时间期限内的通信信息的数据详单,超出时间范围就无法查询。在数据库中,所有数据库都存在一台 mysql 服务器数据库中,但是数据库对数据的支撑量和储存量有上限,当系统使用时间过长后数据量过于庞大时,数据库无法支撑。这时,需要再创建一台数据库,编写一个存储功能,定期把历史的数据库内的历史数据,接收并保存到新的 mysql 数据库中。
//例如:移动、联通等通信数据在一段时间内并不会被删除,但是用户无法查询到,正常的应用在进行查询这些历史数据的时候能力有限,所以无法查询到通信信息。因为公司在后台将历史的通信数据,保存到一个新的历史数据库中进行存储,此数据库只开放了一部分接口来提供用户使用,并没有全部开放给所有的用户,所以普通用户查询不到一定期限外历史的通信信息。原因是因为原数据库能力有限,无法存储过于庞大的数据量。
2.项目:
查询通话详单
本机号码 主叫/被叫类型0、1通话时长 时间 对方号码…
//查询通话详单,内容包含主机号码、主叫与被叫的类型、通话的时长、通话时间以及对方的号码等信息。
创建 hbase 项目:
//注意:在创建新型项目时,尽量不使用 jre7,可以使用自带的 JDK。
项目创建成功后导入工具包。
//应该将 hadoop 的加包拷贝过后替换至2.5的版本的加包,也可以直接使用加包
//可以将目录下所有加包都引用至新建的项目中,可以先寻找到 HBase 最少的依赖,然后进行引用。如果需要使用 hadoop 也可以将 hadoop 中的加包进行引用。
示例代码:
package com.sxt.hbase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.junit.Before;
public class HBaseDemo {
@Before
public void begin ( ) throws Exceptiont{
//初始化变量
Configuration conf = new Configuration ( );
//加载 src 中的配置文件
HBaseAdmin hBaseAdmin;
//将 hbase 文件:
hbase-env.cmd、
hbase-env.sh、hbase-policy.xml、hbase-site.xml
拷贝到 src 文件目录下
@Before
public void begin () throws Exception {
configuration conf = new Configuration ( );
hBaseAdmin = new HBaseAdmin (conf);
//创建表对象可以使用 HBaseAdimin
}
@After
public void end () {
if (hBaseAdmin != null){
try {
hBaseAdmin.close ( );
//如果不为空,则需要释放资源
}catch (IOException e){
e.printstackTrace ( );
}
}
}
public void createTbl(){
//创建表
HTableDescriptor desc = new HTableDescriptor(name).
//创建一个新的表名
hBaseAdmin.createTable (desc);
//创建一个新的描述