Java在HBase数据库创建表

作者:chszs,版权所有,未经同意,不得转载。博主主页:http://blog.csdn.net/chszs

要通过Java在Hbase中创建一个数据表,首先需要导入hbase-client.jar驱动包。可以在项目pom.xml配置文件中添加依赖:

org.apache.hbase

hbase-client

1.1.0.1

在添加依赖后,我们需要创建Configuration对象,并指定core-site.xml和hbase-site.xml作为资源文件。

Configuration config = HBaseConfiguration.create();

config.addResource(new Path("/etc/hbase/conf/hbase-site.xml"));

config.addResource(new Path("/etc/hadoop/conf/core-site.xml"));

还需要在Configuration对象中设置hbase.zookeeper.quorum参数和hbase.zookeeper.property.clientPort参数的值,这些值也可以在hbase-site.xml配置文件中找到:

Configuration config = HBaseConfiguration.create();

config.set("hbase.zookeeper.quorum", "127.0.0.1");

config.set("hbase.zookeeper.property.clientPort", "2181");

Configuration对象创建完成后,接着创建连接到HBase数据库的Connection对象,并通过此对象获取Admin对象,它负责实现创建数据表的操作:

Connection connection = ConnectionFactory.createConnection(config);

Admin admin = connection.getAdmin();

一旦创建了Admin对象后,可以通过下面的代码创建数据表了:

String tableName = "users";

if (!admin.isTableAvailable(TableName.valueOf(tableName))) {

HTableDescriptor hbaseTable = new HTableDescriptor(TableName.valueOf(tableName));

hbaseTable.addFamily(new HColumnDescriptor("name"));

hbaseTable.addFamily(new HColumnDescriptor("contact_info"));

hbaseTable.addFamily(new HColumnDescriptor("personal_info"));

admin.createTable(hbaseTable);

}

会严重是否存在“users”名的数据表,如果此表不存在就会创建一个新表,列名包括:家庭名、联系信息和个人信息。

完整的程序如下:

package com.wordpress.khodeprasad;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;

import org.apache.hadoop.hbase.HColumnDescriptor;

import org.apache.hadoop.hbase.HTableDescriptor;

import org.apache.hadoop.hbase.TableName;

import org.apache.hadoop.hbase.client.Admin;

import org.apache.hadoop.hbase.client.Connection;

import org.apache.hadoop.hbase.client.ConnectionFactory;

/**

* @author Prasad Khode

*

*/

public class CreateTable {

public static void main(String[] args) {

CreateTable object = new CreateTable();

object.createTable();

}

public void createTable() {

Configuration config = HBaseConfiguration.create();

config.set("hbase.zookeeper.quorum", "127.0.0.1");

config.set("hbase.zookeeper.property.clientPort", "2181");

Connection connection = null;

Admin admin = null;

try {

connection = ConnectionFactory.createConnection(config);

admin = connection.getAdmin();

String tableName = "users";

if (!admin.isTableAvailable(TableName.valueOf(tableName))) {

HTableDescriptor hbaseTable = new HTableDescriptor(TableName.valueOf(tableName));

hbaseTable.addFamily(new HColumnDescriptor("name"));

hbaseTable.addFamily(new HColumnDescriptor("contact_info"));

hbaseTable.addFamily(new HColumnDescriptor("personal_info"));

admin.createTable(hbaseTable);

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

if (admin != null) {

admin.close();

}

if (connection != null && !connection.isClosed()) {

connection.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

}

}

hbase java 建表_Java在HBase数据库创建表相关推荐

  1. java metadata 使用_java 查询oracle数据库所有表DatabaseMetaData的用法(详解)

    一 . 得到这个对象的实例 Connection con ; con = DriverManager.getConnection(url,userName,password); DatabaseMet ...

  2. linux系统中db2创建表空间,为DB2数据库创建表空间

    数据库中的表空间(tablespace) 是一个逻辑层,一些数据库对象(比如表.视图和索引)驻留在这里.一个数据库可以有多个表空间.在首次创建数据库时,DB2 会自动地创建一组表空间. 在 Contr ...

  3. R操作MySQL数据库创建表、删除表、增删改查(CRUD)

    R操作MySQL数据库创建表.删除表.增删改查(CRUD) 关系数据中的数据是按照一定范式去存储的.当我们需要非常高级和复杂的Sql查询就可以使用关系数据库的数据资产.不光java和python可以容 ...

  4. 数据库创建(利用写好的数据库表生成创建表的sql语句+利用生成的数据库创建表加同步数据sql)

    一.利用写好的数据库表生成创建表的sql语句 1.简单创建一个数据库,并建一个表,并编辑数据. a.建库 b.建表 c.编辑表,保存时输入表名 d.刷新一下,出来了 e.转存导出sql文件. 二.利用 ...

  5. oracle两个表数据比较,oracle数据库两表数据比较

    1 引言 在程序设计的过程中,往往会遇到两个记录集的比较.如华东电网PMS接口中实现传递一天中变更(新增.修改.删除)的数据.实现的方式有多种,如编程存储过程返回游标,在存储过程中对两批数据进行比较等 ...

  6. 数据库地区表sql语句,数据库地区表包含省市县

    数据库地区表sql语句,数据库地区表包含省市县 包含省市县的数据表,需要的可以参考,sql语句一个博客字数太多发布不了,剩下的在下一个博客里面,之前也是在网上找的,感谢分享 -- ---------- ...

  7. 达梦数据库创建表空间

    达梦数据库的数据是存储在表空间下的. 创建表空间时需要指定表空间名和拥有的数据文件列表. 表空间的创建有两种方式. 一. 通过manager图形化界面创建 1.进入安装目录tool目录下,通过./ma ...

  8. 数据库创建表失败原因

    小白又建数据库创建表之N种错误= = 这次错误是由于表的名字 user 为数据库的关键字造成的,而且错误很难找出,因为控制台并没有报错,而且正常输出创建表的hibernate语句,后想到改个表名试试, ...

  9. sql server基础语法 创建数据库 创建表

    sql server基础语法 创建数据库 创建表 1.创建数据库 2.表的创建 3.在现有表中添加标识列 4.创建外键 5.添加外键 6.约束 7.创建局部临时表 8.创建全局临时表 9.创建具有ch ...

  10. python 笔记 之 sqlalchemy操作数据库-创建表

    2019独角兽企业重金招聘Python工程师标准>>> ''' pip install SQLAlchemy 操作数据库-创建表 ''' import sqlalchemy''' s ...

最新文章

  1. MySQL 学习笔记(17)— SQL 执行顺序
  2. tensorBoard 初级实现
  3. 36条网络安全术语盘点——Vecloud
  4. 字节跳动AI科学家王崇学生时代论文获“时间检验研究奖”
  5. MySQL搭建主从复制架构实战
  6. hihocoder 1015 : KMP算法(kmp)
  7. 盘点9 个实用的 JSON 工具
  8. 2011年度最佳代码“不管你们信不信,我反正信了”
  9. 作者:周晓津(1971-),男,博士,广州市社会科学院研究员。
  10. 机器学习之朴素贝叶斯算法原理
  11. raspberry pi_Raspberry Pi支持的杂耍性能
  12. 详解Domino服务器的安装
  13. MP3文件格式说明 (转)
  14. python编程单词排序_Python实现针对中文排序的方法
  15. 基于多线程技术和自定义消息编程实现Windows 9x异步串行通信
  16. 汽车自动泊车辅助系统APA(上)
  17. 「解析」Matplotlib 绘制折线图
  18. python基础-Task3
  19. mysql json官方文档,10分钟了解MySQL5.7对原生JSON的支持与用法
  20. 3ds MAX常用快捷键命令大全,快捷键自定义方法,游戏建模小白必备

热门文章

  1. 如何从道客巴巴上下载收费文档之我见
  2. 网络公司网站源码介绍Version1.0
  3. 三角网导线平差实例_附和导线坐标平差法实例
  4. 用cmd命令行下载github中的工程文件
  5. java 地图_java离线地图web GIS制作
  6. linux 远程扫描仪,扫描仪Web远程控制
  7. SharpShooter Reports.Web 7.5 Crack
  8. 开源计算机辅助翻译(CAT)软件OmegaT快速上手指南
  9. ivx动效按钮 基础按钮制作 01
  10. Unity制作游戏自定义按键