import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.*;
@Table(name = "my_table", defaultFamily = "cf")
public class MyTable {
@RowKey
private String rowKey;
@Column(family = "cf", qualifier = "name")
private String name;
@Column(family = "cf", qualifier = "age")
private int age;
@StrongConsistency
public void save() throws IOException {
Connection connection = ConnectionFactory.createConnection(HBaseConfiguration.create());
Table table = connection.getTable(TableName.valueOf("my_table"));
Put put = new Put(Bytes.toBytes(rowKey));
put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("name"), Bytes.toBytes(name));
put.addColumn(Bytes.toBytes("cf"), Bytes.toBytes("age"), Bytes.toBytes(age));
table.put(put);
table.close();
connection.close();
}
@EventualConsistency
public void delete() throws IOException {
Connection connection = ConnectionFactory.createConnection(HBaseConfiguration.create());
Table table = connection.getTable(TableName.valueOf("my_table"));
Delete delete = new Delete(Bytes.toBytes(rowKey));
table.delete(delete);
table.close();
connection.close();
}
@ConsistentRead
public String getName() throws IOException {
Connection connection = ConnectionFactory.createConnection(HBaseConfiguration.create());
Table table = connection.getTable(TableName.valueOf("my_table"));
Get get = new Get(Bytes.toBytes(rowKey));
Result result = table.get(get);
byte[] value = result.getValue(Bytes.toBytes("cf"), Bytes.toBytes("name"));
table.close();
connection.close();
return Bytes.toString(value);
}
}