用java代码在创建hbase表时指定region的范围

 1 package com.liveyc.common.utils;
 2
 3 import java.util.List;
 4
 5 import org.apache.hadoop.hbase.util.Bytes;
 6 import com.liveyc.datarecover.utils.FileToHbase;
 7 public class NewTable {
 8     public static void main(String[] args) throws Exception {
 9         createTable("20171201","20181201");
10     }
11     public static void createTable(String bDate,String eDate) throws Exception{
12         List<String> dateList = FileToHbase.dateList(bDate, eDate);
13         byte[][] regions = new byte[dateList.size()][];
14         //根据时间段获取region,新建表
15         for(String d : dateList){
16             regions[dateList.indexOf(d)] = Bytes.toBytes(d);
17         }
18         String[] family = {"Fileinfo","Archiveinfo"};
19         String tableName = "view_store";
20         HbaseUtils.creatTable(tableName,family ,regions);
21     }
22 }
 1  /**
 2      * 创建表
 3      * @param tableName 表名
 4      * @param family 列族
 5      * @param regions region
 6      * @throws Exception
 7      */
 8     public static void creatTable(String tableName, String[] family,byte[][] regions)
 9             throws Exception {
10         HBaseAdmin admin = new HBaseAdmin(conf);
11         HTableDescriptor desc = new HTableDescriptor(tableName);
12         for (int i = 0; i < family.length; i++) {
13             desc.addFamily(new HColumnDescriptor(family[i]));
14         }
15         if (admin.tableExists(tableName)) {
16             System.out.println("table Exists!");
17             //System.exit(0);
18         } else {
19             if(regions != null){
20                 admin.createTable(desc,regions);
21                 System.out.println("create table Success!");
22             }else{
23                 admin.createTable(desc);
24                 System.out.println("create table Success!");
25             }
26
27
28         }
29     }
时间: 2024-10-06 06:19:55

用java代码在创建hbase表时指定region的范围的相关文章

Windows下Java File对象创建文件夹时的一个"坑"

import java.io.File; import java.io.IOException; public class DirCreate { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String dirStr="D:"; File dir=new File(dirStr); System.out.println("====

用纯JAVA代码来创建视图

package com.kale.codeview; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widg

MySQL创建数据表时设定引擎MyISAM/InnoDB

我在配置mysql时将配置文件中的默认存储引擎设定为了InnoDB.今天查看了MyISAM与InnoDB的区别,在该文中的第七条“MyISAM支持GIS数据,InnoDB不支持.即MyISAM支持以下空间数据对象:Point,Line,Polygon,Surface等.”作为一个地理信息系统专业的学生(其实是测绘专业)来讲,能存储空间数据的数据库才是好数据库,原谅我是数据库小白的身份. 有三种方式可以设定数据库引擎: (1)修改配置文件 将安装目录下~\MySQL\mysql-5.6.31-wi

mysql基础之创建库表时字符集设置问题

创建数据库及表时设置字符集,避免出现中文乱码的方法: 创建数据库 CREATE DATABASE test CHARACTER SET utf8 COLLATE utf8_general_ci; --注意后面三个单词之间是有下划线的 对于每个选项所给定的值,前面没有等号:在第一个选项和第二个选项之间也没有逗号. 创建表 CREATE TABLE mytable(     id varchar(40) NOT NULL default '',     userId varchar(40) NOT 

postgreSQL 创建user表时引发的表名大写与双引号问题

在postgreSQL里面,user是一个保留字. 如果你想创建user表,你可能会遭遇一些问题! 如图: 可以看到,这里是无法创建user表的. 你可能会说,我只是没有加双引号""来括住大写的表名而已,没错! 当我用""括住大写的表名的时候,问题解决了! 如图: 但是,事情还没完! 如果我不是创建user表,而是其他的,如Useless表呢? 如图: 会看到Useless表是可以创建的,只不过这里表名被自动转换为了小写. 这里应该是遵循了标准SQL的规定. 如果我

HIVE创建HBASE表

CREATE TABLE card_data(KEY string,coorid string, coorname string,cooraddr string,roadnum string,speed string,direction string,date string,hphm string,ys string,cx string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTI

ADOX创建ACCESS 表时,几个附加属性

 中文  英文 允许空字符串 Jet OLEDB:Allow Zero Length Unicode压缩 Jet OLEDB:Compressed UNICODE Strings 有效性规则 Jet OLEDB:Column Validation Rule 有效性文本 Jet OLEDB:Column Validation Text 必填字段 Nullable 固定长度 Fixed Length 默认值 Default 标题? Description 使用 Attributes 属性确定列是否为

excel 2010创建透视表时提示内存资源不足

我的系统是win7 32位 4G内存 求解!网上也搜了好多试过 也不行............................

Mysql数据库在建表时指定engine等于InnoDB 或MyISAM的意义

一.ISAM和InnoDB的定义 1. ISAM ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数.因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源. ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了. 如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MySQL能够支持这样的备份应用程序. 1.2 InnoD