我的HBase版本是0.98
首先说明一下,如果用eclipse操作hbase时,如果报Unknown host错误,找不到主机,是因为你没有配IP地址的映射
方法是 找到你的系统盘里面的C:\Windows\System32\drivers\etc下的hosts文件,打开,增加一个映射
加一个映射
192.168.52.140 master
话不多说,直接看代码,注释很详细
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;
public class MyHbaseApi {
public static void main(String[] args) {
Admin admin=null;
Connection con=null;
try {
//1.获得配置文件对象
Configuration conf=HBaseConfiguration.create();
//设置配置参数
conf.set("hbase.zookeeper.quorum", "192.168.52.140");
//2.建立连接
con=ConnectionFactory.createConnection(conf);
//3.获得会话
admin=con.getAdmin();
//System.out.println(con);
//System.out.println(admin);
//4.操作
//建立数据库
//创建表名对象
TableName tn=TableName.valueOf("stu");
//a.判断数据库是否存在
if(admin.tableExists(tn)){
System.out.println("====> 表存在,删除表....");
//先使表设置为不可编辑
admin.disableTable(tn);
//删除表
admin.deleteTable(tn);
System.out.println("表删除成功.....");
}
System.out.println("===>表不存在,创建表......");
//创建表结构对象
HTableDescriptor htd=new HTableDescriptor(tn);
//创建列族结构对象
HColumnDescriptor hcd1=new HColumnDescriptor("fm1");
HColumnDescriptor hcd2=new HColumnDescriptor("fm2");
htd.addFamily(hcd1);
htd.addFamily(hcd2);
//创建表
admin.createTable(htd);
System.out.println("创建表成功...");
//向表中插入数据
//a.单个插入
Put put =new Put(Bytes.toBytes("row01"));//参数是行健row01
put.addColumn(Bytes.toBytes("fm1"), Bytes.toBytes("col1"), Byte