博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hbaseAPI 针对表操作 ddl
阅读量:4161 次
发布时间:2019-05-26

本文共 4102 字,大约阅读时间需要 13 分钟。

public static void main(String[] args) throws IOException {        System.setProperty("hadoop.home.dir", "D:\\hadoop-2.6.0-cdh5.15.0");        Configuration conf = new Configuration();        conf.set("zookeeper.znode.parent", "/hbase");        conf.set("hbase.zookeeper.quorum", "can");        conf.set("hbase.zookeeper.property.clientPort", "2181");        Connection connection =                ConnectionFactory.createConnection(conf);        Admin admin = connection.getAdmin();        String name = "hadoop:table";        String cf1 = "f1";        String cf2 = "f2";        String cf3 = "f3";        //判断表是否存在        TableName tableName = TableName.valueOf(name);        boolean b = admin.tableExists(tableName);        System.out.println(b);        //HTableDescriptor  创建表        if(!admin.tableExists(tableName)) {            HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName);            //创建表时候 至少需要 需要指定一个列族            HColumnDescriptor hColumnDescriptor1 = new HColumnDescriptor(cf1);            HColumnDescriptor hColumnDescriptor2 = new HColumnDescriptor(cf2);            HColumnDescriptor hColumnDescriptor3 = new HColumnDescriptor(cf3);            hTableDescriptor.addFamily(hColumnDescriptor1);            hTableDescriptor.addFamily(hColumnDescriptor2);            hTableDescriptor.addFamily(hColumnDescriptor3);            admin.createTable(hTableDescriptor);        }else {            System.out.println("already create");        }        //admin.createTable();        //修改列族属性//        if(admin.tableExists(tableName)) {//            if( admin.isTableEnabled(tableName))//                admin.disableTable(tableName); //首先关闭表格//            //HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName);////            //增加一个列族//            //hTableDescriptor.addFamily(new HColumnDescriptor("f4"));//            //如果new HTableDescriptor  这个HTableDescriptor 是空的////            //获取该表  HTableDescriptor//            //HTableDescriptor tableDescriptor = admin.getTableDescriptor(tableName);//            //tableDescriptor.addFamily(new HColumnDescriptor("f3"));////            //修改某一个列族            HTableDescriptor tableDescriptor = admin.getTableDescriptor(tableName);            HColumnDescriptor family = tableDescriptor.getFamily(Bytes.toBytes("f4"));            //修改family属性            family.setBlocksize(1024*1024*16);//设置缓冲大小 1K ~ 16m            // Block size for column family f4  must be between 1K and 16MB. Set hbase.table.sanity.checks to false at conf or table descript            family.setTimeToLive(60);            family.setVersions(1,5);            family.setInMemory(true);            tableDescriptor.modifyFamily(family);            admin.modifyTable(tableName, tableDescriptor);////            //删除一个列族//            HTableDescriptor tableDescriptor = admin.getTableDescriptor(tableName);////            tableDescriptor.removeFamily(Bytes.toBytes("f3"));//            admin.modifyTable(tableName, tableDescriptor);//            admin.enableTable(tableName);//        }else  {//            System.out.println("table not create");//        }        //删除表//        if (admin.tableExists(tableName)) {//            admin.disableTable(tableName);//            admin.deleteTable(tableName);//           // admin.enableTable(tableName);//        }else {//            System.out.println("table not create");//        }        //admin.getTableDescriptor(tableName);        HTableDescriptor tableDescriptor1 = admin.getTableDescriptor(tableName);        Collection
families = tableDescriptor1.getFamilies(); for (HColumnDescriptor tmp:families) { System.out.println(tmp.getMaxVersions() + ":" + new String(tmp.getName())); } //list NamespaceDescriptor[] namespaceDescriptors = admin.listNamespaceDescriptors(); for (NamespaceDescriptor nsdt:namespaceDescriptors) { HTableDescriptor[] hTableDescriptors = admin.listTableDescriptorsByNamespace(nsdt.getName()); for (HTableDescriptor tmp:hTableDescriptors) { System.err.println(tmp); } } }

 

转载地址:http://qrjxi.baihongyu.com/

你可能感兴趣的文章
【Python基础1】变量和字符串定义
查看>>
【Python基础2】python字符串方法及格式设置
查看>>
【Python】random生成随机数
查看>>
【Python基础3】数字类型与常用运算
查看>>
【Python基础4】for循环、while循环与if分支
查看>>
【Python基础6】格式化字符串
查看>>
【Python基础7】字典
查看>>
【Python基础8】函数参数
查看>>
【Python基础9】浅谈深浅拷贝及变量赋值
查看>>
Jenkins定制一个具有筛选功能的列表视图
查看>>
【Python基础10】探索模块
查看>>
【Python】将txt文件转换为html
查看>>
[Linux]Shell脚本实现按照模块信息拆分文件内容
查看>>
idea添加gradle模块报错The project is already registered
查看>>
在C++中如何实现模板函数的外部调用
查看>>
在C++中,关键字explicit有什么作用
查看>>
C++中异常的处理方法以及使用了哪些关键字
查看>>
内存分配的形式有哪些? C++
查看>>
什么是内存泄露,如何避免内存泄露 C++
查看>>
栈和堆的空间大小 C++
查看>>