public class HBaseDDL {

//声明一个静态属性
static public Connection conn = HBaseConnection2.conn;

/**
* 创建命名空间
*
* @param namespcae 命名空间名称
*/
public static void createNamespace(String namespcae) throws IOException {
//1. 获取admin
Admin admin = conn.getAdmin();

//2.调用方法创建命名空间
//代码相对shell更加底层 所以shell能够实现的功能 代码一定能实现
//所以要填写完整的命名空间描述

//2.1 创建命名空间描述建造者
NamespaceDescriptor.Builder builder = NamespaceDescriptor.create(namespcae);

//2.2 给命名空间添加需求
builder.addConfiguration("user", "Superchen");

//2.3 使用builder构造出对应的添加完参数的对象 完成创建
admin.createNamespace(builder.build());

//3. 关闭admin
admin.close();
}

/**
* +
*
* @param namespace 命名空间名称
* @param tableName 表格名称
* @param columnFamilies 列族名称 可以有多个
*/
public static void createTable(String namespace, String tableName, String... columnFamilies) throws IOException {
//1. 获取admin
Admin admin = conn.getAdmin();

//2. 创建表格
//2.1 创建表格描述的建造者
TableDescriptorBuilder tableDescriptorBuilder = TableDescriptorBuilder.newBuilder(TableName.valueOf(namespace, tableName));

//2.2 添加参数
for (String columnFamily : columnFamilies) {
//2.3 创建列族描述的建造者
ColumnFamilyDescriptorBuilder columnFamilyDescriptorBuilder = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(columnFamily));

//2.4 对应当前的列族添加参数
//添加版本参数
columnFamilyDescriptorBuilder.setMaxVersions(5);

//2.5 创建添加完参数的列族描述
tableDescriptorBuilder.setColumnFamily(columnFamilyDescriptorBuilder.build());
}

//2.3创建对应的表格描述
admin.createTable(tableDescriptorBuilder.build());

//3. 关闭admin
admin.close();
}

//------------------------------------------------------------------------------------------------------------------
public static void main(String[] args) throws IOException {
//创建命名空间
// createNamespace("test1");
// HBaseConnection2.closeConnection();

//创建表格
createTable("test1", "Contract", "info");
HBaseConnection2.closeConnection();

}
}

HBase建命名空间建表的更多相关文章

  1. Mac下安装MySQL、Workbench以及建数据库建表最基础操作

    刚用上Mac,什么都不懂,加之以前还没有用过mysql,就想着在Mac上装一个mysql来自己玩,奈何,在网上找了大半天,没有一个干货!愤怒!下面是我安装的过程,希望能帮到和我情况差不多的朋友   首 ...

  2. MySQL建库建表

    一直使用SQL SERVER 数据库:最近项目使用MY SQL感觉还是有一点不适应.不过熟悉之后就会好很多. MY SQL 安装之后会有一个管理工具MySQL Workbench 感觉不太好用,数据库 ...

  3. 【ITOO 2】.NET 动态建库建表:使用SQL字符串拼接方式

    导读:在最近接手的项目(高效云平台)中,有一个需求是要当企业用户注册时,给其动态的新建一个库和表.刚开始接手的时候,是一点头绪都没有,然后查了一些资料,也问了问上一版本的师哥师姐,终于有了点头绪.目前 ...

  4. 【ITOO 3】.NET 动态建库建表:实用EF框架提供的codeFirst实现动态建库

    导读:在上篇博客中,介绍了使用SQL字符拼接的方式,实现动态建库建表的方法.这样做虽然也能够实现效果,但是,太麻烦,而且,如果改动表结构,字段的话,会对代码修改很多.但是EF给我们提供了一种代码先行的 ...

  5. SQL Server建库-建表-建约束

    ----------------------------------------SQL Server建库-建表-建约束创建School数据库------------------------------ ...

  6. 使用T-sql建库建表建约束

    为什么要使用sql语句建库建表? 现在假设这样一个场景,公司的项目经过测试没问题后需要在客户的实际环境中进行演示,那就需要对数据进行移植,现在问题来了:客户的数据库版本和公司开发阶段使用的数据库不兼容 ...

  7. mysql那些事(4)建库建表编码的选择

    mysql建数据库或者建表的时候会遇到选择编码的问题,以前我们都是习惯性的选择utf8,但是在mysql在5.5.3版本后加了utf8mb4的编码,utf8mb4可以存4个字节Unicode,mb4就 ...

  8. C# 利用*.SQL文件自动建库建表等的类

    /// <summary> /// 自动建库建表 /// </summary> public class OperationSqlFile { SqlConnection sq ...

  9. Hive 建外链表到 Hbase(分内部表、外部表两种方式)

    一. Hive 建内部表,链到hbase :特点:Hive drop表后,Hbase 表同步删除 drop table if exists hbase_kimbo_test1;CREATE TABLE ...

  10. HBase流量限制和表负载均衡剖析

    1.概述 在HBase-1.1.0之前,HBase集群中资源都是全量的.用户.表这些都是没有限制的,看似完美实则隐患较大.今天,笔者就给大家剖析一下HBase的流量限制和表的负载均衡. 2.内容 也许 ...

随机推荐

  1. VS 撰写生成了多个撰写错误,其根本原因有X点,如下所列。有关详细信息,请查看CompositionException.Error属性

    打开VS开发程序,莫名其妙的出现如下图错误: 网上找了很多资料,有前辈说以下方法: 解决方案如下 打开文件夹 Users\<CurrentUser>\AppData\Local\Micro ...

  2. 安装和配置Java开发环境JDK

    我们通常软件开发的操作系统选择Windows,生产环境选择linux或windows Server.移动开发可能是安卓或IOS和鸿蒙系统等. Windows下一般选择的是64位的操作系统,一般建议CP ...

  3. 两个集合之间数据过滤linq

    //以下为前台多字段循环匹配if (!input.Filter.IsNullOrEmpty()) { var keysList = input.Filter.Split(" ".T ...

  4. ajax请求头

    headers: { 'token':token, 'identity':identity, 'Content-Type': 'application/x-www-form-urlencoded' } ...

  5. Golang如何快速构建一个CLI小工示例

    这篇文章主要为大家介绍了Golang如何快速构建一个CLI小工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 如何Golang快速构建一个CLI小工具 在现实开发的 ...

  6. GmSSL3.0密码算法库

    GmSSL3.0密码算法库 一.开发背景 GmSSL 3.0版本具有更快.更小.更安全的特点,相比于GmSSL 2.0我们主要从以下方向进行改进: 采用CMake替代目前基于Perl的构建系统 支持L ...

  7. 【研究生学习】SNR、Eb/N0和Es/N0的关系

    SNR.Eb/N0与Es/N0的关系 在模拟通信中,SNR是一个非常有用的指标 实例说明

  8. Springboot2.0解决跨域问题

    解决办法: import org.springframework.context.annotation.Configuration; import org.springframework.web.se ...

  9. java字段值为null,不返回该字段

    jackSon注解– @JsonInclude 注解不返回null值字段 @Data @JsonInclude(JsonInclude.Include.NON_NULL) public class R ...

  10. leetcode 30. 串联所有单词的子串 【时间击败 90.28%】 【内存击败 97.44%】

    这道题让我从早做到晚-3--- 设len=words[0].length(). 一开始我按照words的顺序扩大区间,发现这样就依赖words的顺序.之后改成遍历s的所有长度为len*words.le ...