package client; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; 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.Put; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.util.Bytes; import util.HBaseHelper; // cc DeleteTimestampExample Example application deleting with explicit timestamps public class DeleteTimestampExample { private final static byte[] ROW1 = Bytes.toBytes("row1"); private final static byte[] COLFAM1 = Bytes.toBytes("colfam1"); private final static byte[] QUAL1 = Bytes.toBytes("qual1"); public static void main(String[] args) throws IOException, InterruptedException { Configuration conf = HBaseConfiguration.create(); HBaseHelper helper = HBaseHelper.getHelper(conf); helper.dropTable("testtable"); helper.createTable("testtable", 3, "colfam1"); Connection connection = ConnectionFactory.createConnection(conf); TableName tableName = TableName.valueOf("testtable"); Table table = connection.getTable(tableName); Admin admin = connection.getAdmin(); // vv DeleteTimestampExample for (int count = 1; count <= 6; count++) { // co DeleteTimestampExample-1-Put Store the same column six times. Put put = new Put(ROW1); put.addColumn(COLFAM1, QUAL1, count, Bytes.toBytes("val-" + count)); // co DeleteTimestampExample-2-Add The version is set to a specific value, using the loop variable. table.put(put); } // ^^ DeleteTimestampExample System.out.println("After put calls..."); helper.dump("testtable", new String[] { "row1" }, null, null); // admin.flush(tableName); // Thread.sleep(3000); // admin.majorCompact(tableName); // Thread.sleep(3000); // vv DeleteTimestampExample Delete delete = new Delete(ROW1); // co DeleteTimestampExample-3-Delete Delete the newest two versions. delete.addColumn(COLFAM1, QUAL1, 5); delete.addColumn(COLFAM1, QUAL1, 6); table.delete(delete); // ^^ DeleteTimestampExample System.out.println("After delete call..."); helper.dump("testtable", new String[]{ "row1" }, null, null); } }