《HBase不睡觉书》——客户端API(基础版)

HBase Maven依赖


        UTF-8
        1.3.5
    

        
            org.apache.hbase
            hbase-client
            ${hbase.version}
        
       

配置文件

  • 把HBase配置文件夹中的hbase-site.xml和Hadoop配置文件夹中的core-site.xml配置文件都从服务器上拖下来放到resources文件夹内
  • 截屏2020-03-0513.53.13.png

Hello HBase

  1. 于加载需要连接HBase的各项配置
    Configuration config = HBaseConfiguration.create();
  2. 添加配置文件
    config.addResource(new Path(ClassLoader.getSystemResource("hbase-site.xml").toURI())); config.addResource(new Path(ClassLoader.getSystemResource("core-site.xml").toURI()));
  3. 创建Connection
    Connection connection = ConnectionFactory.createConnection(config);
  4. 建表
    • 定义表名的TableName
      TableName tableName = TableName.valueOf("mytable");
    • 定义表属性的HTableDescriptor
      HTableDescriptor table = new HTableDescriptor(tablename);
    • 创建列族
      HColumnDescriptor mycf=new HColumnDescriptor("mycf"); table.addFamily(new HColumnDescriptor(mycf));
    • 执行
      Admin admin = connection.qetAdmin(); admin.createTable(table);
    • 结束
      admin.close(); connection.close();
  5. 综上
public class Client {

    public static void main(String[] args) throws URISyntaxException {
        // 获取配置文件
        Configuration conf = HBaseConfiguration.create();
        conf.addResource(new Path(ClassLoader.getSystemResource("hbase-site.xml").toURI()));
        conf.addResource(new Path(ClassLoader.getSystemResource("core-site.xml").toURI()));
        // 创建连接
        try {
            Connection connection = ConnectionFactory.createConnection(conf);
            Admin admin = connection.getAdmin();
            // 定义表名
            TableName tableName = TableName.valueOf("mytable");
            // 定义表
            HTableDescriptor table = new HTableDescriptor(tableName);
            // 定义列族
            HColumnDescriptor mycf = new HColumnDescriptor("mycf");
            table.addFamily(new HColumnDescriptor(mycf));
            // 执行创建表动作
            admin.createTable(table);
            admin.close();
            connection.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

你可能感兴趣的:(《HBase不睡觉书》——客户端API(基础版))