清空指定表的所有记录数据。

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.CellUtil;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
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.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.client.Table;


public class D_clearTableData {
    public static Configuration configuration;
    public static Connection connection;
    public static Admin admin;
    
    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        B_getAllData show = new B_getAllData();
        show.getTableData("student");
        clearTableData("student");
        show.getTableData("student");
    }
    //建立连接
    public static void init(){
        configuration  = HBaseConfiguration.create();
        configuration.set("hbase.rootdir","hdfs://localhost:9000/hbase");
        try{
            connection = ConnectionFactory.createConnection(configuration);
            admin = connection.getAdmin();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    //关闭连接
    public static void close(){
        try{
            if(admin != null){
                admin.close();
            }
            if(null != connection){
                connection.close();
            }
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    /*
     * D_
     */
    public static void clearTableData(String tablename) throws IOException {
        init();
        HTableDescriptor hTableDescriptors[] = admin.listTables();
        Table table = connection.getTable(TableName.valueOf(tablename));
        //创建一个空的Scan实例
        Scan scan1 = new Scan();
        //在行上获取遍历器
        ResultScanner scanner1 = table.getScanner(scan1);
        //打印行的值
        for (Result res : scanner1) {
            System.out.println(res);
            Cell[] cells = res.rawCells();
            for(Cell cell:cells){
                String rowKey = new String(CellUtil.cloneRow(cell));
                String colFamily = new String(CellUtil.cloneFamily(cell));
                Delete delete = new Delete(rowKey.getBytes());
                delete.addFamily(colFamily.getBytes());
                table.delete(delete);
            }
        }
        //关闭释放资源
        scanner1.close();
        table.close();
        close();
    }
}
原文地址:https://www.cnblogs.com/MiraculousB/p/13958121.html