import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.client.Result;
@HBaseTable(name = "my_table")
public class MyClass {
@HBaseRowKey
private String id;
@HBaseColumn(family = "info", qualifier = "name")
private String name;
@HBaseColumn(family = "info", qualifier = "age")
private int age;
@HBaseIgnore
private String address;
// constructors, getters, and setters
public Put toPut() {
Put put = new Put(Bytes.toBytes(id));
put.addColumn(Bytes.toBytes("info"), Bytes.toBytes("name"), Bytes.toBytes(name));
put.addColumn(Bytes.toBytes("info"), Bytes.toBytes("age"), Bytes.toBytes(age));
return put;
}
public static MyClass fromResult(Result result) {
MyClass myObj = new MyClass();
myObj.setId(Bytes.toString(result.getRow()));
myObj.setName(Bytes.toString(result.getValue(Bytes.toBytes("info"), Bytes.toBytes("name"))));
myObj.setAge(Bytes.toInt(result.getValue(Bytes.toBytes("info"), Bytes.toBytes("age"))));
return myObj;
}
}
Configuration config = HBaseConfiguration.create();
try (Connection connection = ConnectionFactory.createConnection(config);
Table table = connection.getTable(TableName.valueOf("my_table"))) {
MyClass obj = new MyClass("1", "John Doe", 30, "123 Main St");
table.put(obj.toPut());
}
Configuration config = HBaseConfiguration.create();
try (Connection connection = ConnectionFactory.createConnection(config);
Table table = connection.getTable(TableName.valueOf("my_table"))) {
Get get = new Get(Bytes.toBytes("1"));
Result result = table.get(get);
MyClass obj = MyClass.fromResult(result);
System.out.println("Name: " + obj.getName());
System.out.println("Age: " + obj.getAge());
}
Configuration config = HBaseConfiguration.create();
try (Connection connection = ConnectionFactory.createConnection(config);
Table table = connection.getTable(TableName.valueOf("my_table"))) {
Delete delete = new Delete(Bytes.toBytes("1"));
table.delete(delete);
}