利用IDEA创建表

利用IDEA创建表
一、启动VM VirtualBox和MobaXterm
start-all.sh
cd /usr/local/hbase-2.2.4/bin
Start-hbase.sh
./start-hbase.sh
status

二、在IDEA里新建一个项目
在这里插入图片描述

注意这里
新建完毕后会自动出来pom.xml页,
添加这些代码:

   <dependencies>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version> 1.3.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-common</artifactId>
            <version> 1.3.1</version>
        </dependency>
    </dependencies>

或者登录https://mvnrepository.com/ Select 1.3.1, copy代码到pom里
三、在这里插入图片描述

四、将log4j.properties复制到resources下并rebuild
在这里插入图片描述

五、新建一个类

public class CreatTable {
    //this is main function
    public static void main(String[] args) throws IOException {

//        //1.create a object of Configuration class 获取配置信息对象
//        Configuration conf = HBaseConfiguration.create();
//
//        //2.connection windows to Linux by using services
//        conf.set("hbase.zookeeper.quorum","niit-master");//require to pass two parameters
//
//       // Connection connection = ConnectionFactory.createConnection(conf);
//        //3.create object of HBaseAdmin class

        //HBaseAdmin admin = new HBaseAdmin(conf); 
//        //4. to create object HTableDescriptor class and pass table Name
//HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("teacher"));
//
//        //5.Adding column family to table descriptor
//        tableDescriptor.addFamily(new HColumnDescriptor("Personal"));
//        tableDescriptor.addFamily(new HColumnDescriptor("Professional"));
//
//        //6.Execute the table through admin object
//        admin.createTable(tableDescriptor);
//
//        //print on screen that table is created
//        System.out.println("Table is created successfully");
    }
}

由于版本不兼容,本人采用2.2.5版本

   <dependencies>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version> 2.2.5</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-common</artifactId>
            <version> 2.2.5</version>
        </dependency>
    </dependencies>

类中的代码:

try {
        Configuration conf = HBaseConfiguration.create();
            //conf.set("hadoop.user.name","asus");如果出现不兼容错误,可添加这一句,asus是我电脑的用户名
        conf.set("hbase.zookeeper.quorum","niit-master");

            //System.setProperty("HBASE_USER_NAME", "asus");

        Connection connection = ConnectionFactory.createConnection(conf);

        Admin admin=connection.getAdmin() ;

        TableDescriptorBuilder tableDescriptorBuilder =
                TableDescriptorBuilder.newBuilder(TableName.valueOf("teacher"));

        ColumnFamilyDescriptor of1 = ColumnFamilyDescriptorBuilder.of("cf1");
        ColumnFamilyDescriptor of2 = ColumnFamilyDescriptorBuilder.of("cf2");

        tableDescriptorBuilder.setColumnFamily(of1);
        tableDescriptorBuilder.setColumnFamily(of2);

        
        TableDescriptor tableDescriptor = tableDescriptorBuilder.build();
        admin.createTable(tableDescriptor);
    } catch (IOException e) {
        e.printStackTrace();
    }

注意:1.conf.set(“hbase.zookeeper.quorum”,“niit-master”);这里的niit-master也可以用自己的IP地址,查找方法:在Moba里输入ip addr
在这里插入图片描述

2.VM VirtualBox和MobaXterm在这个过程中一直保持开启状态
3.导包正确
运行结果:
在这里插入图片描述
在这里插入图片描述

六、在IDEA中显示list,新建ListTable类

public static void main(String[] args) throws IOException {
        //step 1,2,3 is common
        //step 1.to create object of Configuration class
        Configuration conf= HBaseConfiguration.create();

        //step 2. connect HBase from Linux to Intellij on windows
        conf.set("hbase.zookeeper.quorum","niit-master");

        //step 3.HBaseAdmin object
       // HBaseAdmin admin=new HBaseAdmin(conf); (1.3.1版)
        Connection connection = ConnectionFactory.createConnection(conf);
        Admin admin=connection.getAdmin() ;//(2.2.5版)

        //getting all the list of tables using HBaseAdmin object
        HTableDescriptor[] htd =admin.listTables();

        //printing all the table name
        System.out.println("the list of tables:");
        for(int i=0;i<htd.length;i++){
            System.out.println(htd[i].getNameAsString());
        }
}

运行结果:
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值