首页 > 其他 > 详细

列出HBASE所有表的相关信息,如表名、创建时间等。

时间:2020-11-11 13:56:54      阅读:369      评论:0      收藏:0      [点我收藏+]
import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
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.Table;


public class A_getAllInfo {
    public static Configuration configuration;
    public static Connection connection;
    public static Admin admin;
    
    /**
     * @param args
     */
    public static void main(String[] args)throws IOException {
        getAllInfo();
        // TODO Auto-generated method stub

    }
    //建立连接
    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();
        }
    }
    public static void getAllInfo() throws IOException {
        init();
        HTableDescriptor hTableDescriptors[] = admin.listTables();
        for(HTableDescriptor hTableDescriptor :hTableDescriptors){
            System.out.println(hTableDescriptor.getNameAsString());
            Table table = connection.getTable(TableName.valueOf(hTableDescriptor.getNameAsString()));
            HTableDescriptor HTableDes = table.getTableDescriptor();
            Collection<HColumnDescriptor> a = HTableDes.getFamilies();
            Iterator<HColumnDescriptor> it = a.iterator() ;
            while(it.hasNext())
            {
                HColumnDescriptor next = it.next();
                System.out.println(next);
            }
            table.close();
        }
        close();
    }

}

 

列出HBASE所有表的相关信息,如表名、创建时间等。

原文:https://www.cnblogs.com/MiraculousB/p/13958111.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!