实验目的
1.了解HBase语言的基本语法
2.了解HBase开发的原理
3.了解HBase Java API的使用
实验原理
HBase与Hadoop一样,都是用Java编写的,所以HBase对Java支持是必须的,HBase Java API核心类介绍如下:
1.HBaseConfiguration类
HBaseConfiguration是每一个HBase Client都会使用到的对象,它代表HBase配置信息,有两种构造方式:
①public HBaseConfiguration()
②public HBaseConfiguration(final Configuration c)
2.创建表
创建表通过HBaseAdmin对象操作。HBaseAdmin负责META表信息的处理。
HBaseAdmin提供了createTable方法。
public void createTable(HTableDescriptor desc)
HTableDescriptor表示表的Schema,提供的常用方法有以下两个:
①setMaxFileSize:指定最大的Region大小。
②setMemStoreFlushSize:指定MemStore Flush到HDFS的文件大小。
3.删除表
删除表也是通过HBaseAdmin来操作,删除表之前首先要disable表。这是一个非常耗时的操作,所以不建议频繁删除表。
disable Table和deleteTable分别用来执行disable和delete操作。
4.插入数据
HTable通过put方法插入数据。可以传递单个put对象或List put对象分别实现单条插入和批量插入。
①public void put(final Put put) throws IOException
②public void put(final Listputs) throws IOException
Put提供三种构造方式。
①public Put (byte [] row)
②public Put (byte [] row,RowLock rowLock)
③public Put(Put putToCopy)
5.查询数据
查询分为单条随机查询和批量查询。单条查询通过Row Key在Table中查询某一行的数据,HTable提供了get方法完成单条查询。批量查询通过制定一段Row Key的范围来查询,HTable提供了getScanner方法完成批量查询。
实验环境
Linux Ubuntu 14.04
jdk-7u75-linux-x64
hbase-1.0.0-cdh5.4.5
hadoop-2.6.0-cdh5.4.5
hadoop-2.6.0-eclipse-cdh5.4.5.jar
eclipse-java-juno-SR2-linux-gtk-x86_64
实验内容
使用Java API对HBase表的基本操作,主要包含以下四个部分:
1.编写Java代码,实现创建HBase表的操作。
2.编写Java代码,实现删除HBase表的操作。
3.编写Java代码,实现写数据到HBase表中的操作。
4.编写Java代码,实现读取HBase表中数据的操作。
实验步骤
1.首先检查Hadoop相关进程,是否已经启动。若未启动,切换到/apps/hadoop/sbin目录下,启动Hadoop。
view plain "copy
jps
cd /apps/hadoop/sbin
./start-all.sh
当Hadoop相关进程启动后,进入HBase的bin目录下,启动HBase服务。
view plain "copy
cd /apps/hbase/bin/
./start-hbase.sh
2.切换到/data/hbase2目录下,如不存在需提前创建hbase2文件夹。
view plain "copy
mkdir -p /data/hbase2
cd /data/hbase2
3.使用wget命令,下载http://10.51.46.104:60000/allfiles/hbase2中的文件。
view plain "copy
wget http://10.51.46.104:60000/allfiles/hbase2/hbasedemol