上云无忧 > 文档中心 > 天翼云云HBASE数据库-创建表
云HBASE数据库
天翼云云HBASE数据库-创建表

文档简介:
创建表 功能简介 HBase通过org.apache.hadoop.hbase.client.Admin对象的createTable方法来创建表,并指 定表名、列族名。创建表有两种方式(强烈建议采用预分Region建表方式):
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

创建表


功能简介
HBase通过org.apache.hadoop.hbase.client.Admin对象的createTable方法来创建表,并指
定表名、列族名。创建表有两种方式(强烈建议采用预分Region建表方式):
l 快速建表,即创建表后整张表只有一个Region,随着数据量的增加会自动分裂成
多个Region。
l 预分Region建表,即创建表时预先分配多个Region,此种方法建表可以提高写入
大量数据初期的数据写入速度。

说明
表的列名以及列族名不能包含特殊字符,可以由字母、数字以及下划线组成。

代码样例
以下代码片段在cn.chinatelecom.hbase.sample.client包的“HbaseClient”类的
createTable方法中。
public void createTable(TableName tableName) throws IOException{
    ColumnFamilyDescriptor columnFamilyDescriptor = ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("info"))//(1)
            .setCompressionType(Compression.Algorithm.LZ4)//注[1]
            .setDataBlockEncoding(DataBlockEncoding.DIFF)
            .build();
    TableDescriptor tableDescriptor = TableDescriptorBuilder.newBuilder(tableName)//(2)
            .setColumnFamily(columnFamilyDescriptor)//(3)
            .setCompactionEnabled(true)
            .setMaxFileSize(10 * 1024 * 1024 * 1024)
            .build();//注[2]
        admin.createTable(tableDescriptor);//(4)
}

解释
(1)创建列族描述符
(2)创建表描述符
(3)添加列族描述符到表描述符中
(4)调用Admin的建表方法。

注意事项
l 注[1] 可以设置列族的压缩方式,代码片段如下:
//设置编码算法,HBase提供了DIFF,FAST_DIFF和PREFIX三种编码算法
 setDataBlockEncoding(DataBlockEncoding.DIFF)
 
 //设置文件压缩方式,HBase默认提供了LZ4、BZIP2、GZ、LZO、SNAPPY和ZSTD压缩算法
 //其中ZSTD的压缩率高,但压缩和解压性能相对LZ4低,适用于冷数据
 //LZ4压缩率低,但压缩解压性能高,适用于热数据
 //建议默认开启LZ4压缩
 setCompressionType(Compression.Algorithm.LZ4);
l 注[2] 可以通过指定起始和结束RowKey,或者通过RowKey数组预分Region两种方
式建表,代码片段如下:
// 创建一个预划分region的表
 byte[][] splits = new byte[4][];
 splits[0] = Bytes.toBytes("A");
 splits[1] = Bytes.toBytes("H");
 splits[2] = Bytes.toBytes("O");
 splits[3] = Bytes.toBytes("U");
 admin.createTable(htd, splits);

相似文档
  • 修改表 功能简介 HBase通过org.apache.hadoop.hbase.client.Admin的modifyTable方法修改表信息。 代码样例 以下代码片段在cn.chinatelecom.hbase.sample.client包的“HBaseClient”类的 modifyTable方法中。
  • 删除表 功能简介 HBase通过org.apache.hadoop.hbase.client.Admin的deleteTable方法来删除表。 代码样例 以下代码片段在cn.chinatelecom.hbase.sample.client包的“HBaseClient”类的dropTable 方法中。
  • 插入数据 功能简介 HBase是一个面向列的数据库,一行数据,可能对应多个列族,而一个列族又可以对应 多个列。通常,写入数据的时候,我们需要指定要写入的列(含列族名称和列名 称)。
  • 删除数据 功能简介 HBase通过Table实例的delete方法来Delete数据,可以是一行数据也可以是数据集。 代码样例 以下代码片段在cn.chinatelecom.hbase.sample.client包的“HBaseClient”类的delete 方法中。
  • 使用Get读取数据 功能简介 要从表中读取一条数据,首先需要实例化该表对应的Table实例,然后创建一个Get对 象。也可以为Get对象设定参数值,如列族的名称和列的名称。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部