package Hbase;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
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;
public class HbaseApp {
public static final String TABLE_NAME = "table1";
public static final String FAMILY_NAME = "family1";
public static final String ROW_KEY = "rowkey1";
public static void main(String[] args) throws Exception {
// 创建表、删除表使用HbaseAdmin
Configuration conf = HBaseConfiguration.create();
conf.set("hbase.rootdir", "hdfs://hadoop:9000/hbase");
conf.set("hbase.zookeeper.quorum", "hadoop");
HBaseAdmin hBaseAdmin = new HBaseAdmin(conf);
//createTable(hBaseAdmin);
//deleteTabele(hBaseAdmin);
// 插入记录、查询一条记录、查询所有记录HTable
HTable hTable = new HTable(conf, TABLE_NAME);
//putRecord(hTable);
//getRecord(hTable);
Scan scan = new Scan();
ResultScanner scanner = hTable.getScanner(scan);
for (Result result : scanner) {
byte[] value = result.getValue(FAMILY_NAME.getBytes(), "age".getBytes());
System.out.println(result+"\t"+ new String(value));
}
hTable.close();
}
private static void getRecord(HTable hTable) throws IOException {
Get get = new Get(ROW_KEY.getBytes());
Result result = hTable.get(get);
System.out.println(new String(result.getValue(FAMILY_NAME.getBytes(), "age".getBytes())));
}
private static void putRecord(HTable hTable) throws IOException {
Put put = new Put(ROW_KEY.getBytes());
put.add(FAMILY_NAME.getBytes(),"age".getBytes(),"25".getBytes());
hTable.put(put);
}
private static void deleteTabele(HBaseAdmin hBaseAdmin) throws IOException {
hBaseAdmin.disableTable(TABLE_NAME);
hBaseAdmin.deleteTable(TABLE_NAME);
}
private static void createTable(HBaseAdmin hBaseAdmin) throws IOException {
if (!hBaseAdmin.tableExists(TABLE_NAME)) {
HTableDescriptor tableDescripetor = new HTableDescriptor(TABLE_NAME);
HColumnDescriptor family = new HColumnDescriptor(FAMILY_NAME);
tableDescripetor.addFamily(family);
hBaseAdmin.createTable(tableDescripetor);
}
}
}
Hbase的java_API操作
点赞
收藏