下面说说JAVA API提供的这些类的功能和他们之间有什么样的联系。
创新互联是一家集网站建设,千阳企业网站建设,千阳品牌网站建设,网站定制,千阳网站建设报价,网络营销,网络优化,
千阳网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
1.HBaseConfiguration
关系:org.apache.hadoop.hbase.HBaseConfiguration
作用:通过此类可以对HBase进行配置
用法实例: Configuration config = HBaseConfiguration.create();
说明: HBaseConfiguration.create()默认会从classpath中查找 hbase-site.xml中的配置信息,初始化 Configuration。
2.HBaseAdmin 类
关系:org.apache.hadoop.hbase.client.HBaseAdmin
作用:提供接口关系HBase数据库中的表信息
用法:HBaseAdmin admin = new HBaseAdmin(config);
3.Descriptor类
关系:org.apache.hadoop.hbase.HTableDescriptor
作用:HTableDescriptor类包含了表的名字以及表的列族信息
用法:HTableDescriptor htd =new HTableDescriptor(tablename);
构造一个表描述符指定TableName对象。
Htd.addFamily(new HColumnDescriptor(“myFamily”));
将列家族给定的描述符
4.HTable
关系:org.apache.hadoop.hbase.client.HTable
作用:HTable和 HBase的表通信
用法:HTable tab = new HTable(config,Bytes.toBytes(tablename));
ResultScanner sc = tab.getScanner(Bytes.toBytes(“familyName”));
说明:获取表内列族 familyNme的所有数据。
5.Put
关系:org.apache.hadoop.hbase.client.Put
作用:获取单个行的数据
用法:HTable table = new HTable(config,Bytes.toBytes(tablename));
Put put = new Put(row);
p.add(family,qualifier,value);
说明:向表 tablename添加 “family,qualifier,value”指定的值。
6.Get
关系:org.apache.hadoop.hbase.client.Get
作用:获取单个行的数据
用法:HTable table = new HTable(config,Bytes.toBytes(tablename));
Get get = new Get(Bytes.toBytes(row));
Result result = table.get(get);
说明:获取 tablename表中 row行的对应数据
7.ResultScanner
关系:Interface
作用:获取值的接口
用法:ResultScanner scanner = table.getScanner(Bytes.toBytes(family));
For(Result rowResult : scanner){
Bytes[] str = rowResult.getValue(family,column);
}
说明:循环获取行中列值。
例1 HBase之读取HDFS数据写入HBase
package org.hadoop.hbase;
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil;
import org.apache.hadoop.hbase.mapreduce.TableReducer;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.util.GenericOptionsParser;
public class WordCountHbaseWriter {
public static class WordCountHbaseMapper extends
Mapper