一、hbase增删改查基本操作
package hbasetest;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.util.HashSet;
import java.util.Set;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.Delete;
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.RetriesExhaustedWithDetailsException;
import org.apache.hadoop.hbase.util.Bytes;
public class HbaseTest {
public static void main(String[] args) {
Configuration c = new Configuration();
HBaseAdmin hadmin = null;
Set<String> tablesSet = null;
Boolean existFlag = false;
try {
hadmin = new HBaseAdmin(c);
TableName [] tableNames = hadmin.listTableNames();
tablesSet = new HashSet<String>();
String tName = "";
for(TableName tablename : tableNames){
tName = tablename.getNameAsString();
System.out.println(tName);
tablesSet.add(tName);
}
if(tablesSet.contains("tableCreateTest1")){
System.out.println("the table aready exist, please redefine a new table name");
existFlag = true;
}else{
TableName tableName = TableName.valueOf("tableCreateTest1");
HTableDescriptor htd = new HTableDescriptor(tableName);
HColumnDescriptor hcd = new HColumnDescriptor("cf1");
htd.addFamily(hcd);
try {
hadmin.createTable(htd);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("create success!");
}
} catch (MasterNotRunningException e) {
e.printStackTrace();
} catch (ZooKeeperConnectionException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(existFlag){
HTable ht = null;
try {
ht = new HTable(c, "tableCreateTest1");
} catch (IOException e) {
e.printStackTrace();
}
Put put = new Put(Bytes.toBytes("row1"));
put.add(Bytes.toBytes("cf1"), Bytes.toBytes("name"), Bytes.toBytes("zq"));
try {
ht.put(put);
System.out.println("put/update success");
System.out.println();
} catch (RetriesExhaustedWithDetailsException e) {
e.printStackTrace();
} catch (InterruptedIOException e) {
e.printStackTrace();
}
Get get = new Get(Bytes.toBytes("row1"));
try {
Result rs = ht.get(get);
System.out.println("result's size: " + rs.size());
System.out.println("result.toString: " + rs.toString());
KeyValue kv = rs.getColumnLatest(Bytes.toBytes("cf1"), Bytes.toBytes("name"));
System.out.println("kv key: " + Bytes.toString(kv.getKey()));
System.out.println("kv key: " + kv.getKeyString());
System.out.println("kv key: " + KeyValue.keyToString(kv.getKey()));
System.out.println("kv row: " + Bytes.toString(kv.getRow()));
System.out.println("kv family: " + Bytes.toString(kv.getFamily()));
System.out.println("kv qualifier: " + Bytes.toString(kv.getQualifier()));
System.out.println("kv timestam: " + String.valueOf(kv.getTimestamp()));
System.out.println("kv value: " + Bytes.toString(kv.getValue()));
System.out.println();
} catch (IOException e) {
e.printStackTrace();
}
Delete del = new Delete(Bytes.toBytes("row1"));
try {
ht.delete(del);
System.out.println("delete success");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}