Java在HBase数据库创建表
Java在HBase数据库创建表
作者:chszs,版权所有,未经同意,不得转载。博主主页:http://blog.csdn.net/chszs
要通过Java在HBase中创建一个数据表,首先需要导入hbase-client.jar驱动包。可以在项目pom.xml配置文件中添加依赖:
<dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client<artifactId> <version>1.1.0.1</version> <dependency>
在添加依赖后,我们需要创建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(); } } } }

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
set hive.map.aggr=true 时统计PV数据错误
从一个表里group by 之后 计算累加值、去重值: 为了效率设置并行:set hive.exec.parallel=true(可选:set hive.exec.parallel.thread.number=16)、set hive.groupby.skewindata=true、set hive.map.aggr=true select plat, pagetype, count(*) pv, count(distinct userkey) uv from client_pv_form where dt = '2015-08-19' group by plat, pagetype union all select plat, 'all' pagetype, count(*) pv, count(distinct userkey) uv from client_pv_form where dt = '2015-08-19' group by plat union all select 'all' plat, pagetype, count(*) pv, count(distinct ...
- 下一篇
80元,100元,300元,500元低价出售40个不错的老域名
80元,100元,300元,500元低价出售40个不错的老域名 本人想退出域名界,低于成本价出售:http://654877.shop.ename.com/ 域名 简介 类型 当前价格 出价次数 剩余时间 cosmosbigdata.com 微软大数据cosmos 一口价 100元 0 62天 zazaza.cn 杂杂杂 一口价 500元 0 86天 kn0.cn 快男圈,酷女圈,困难圈, 一口价 500元 0 86天 91-edu.cn 91教育 一口价 100元 0 86天 jiongjiong.com.cn 炯炯,囧囧 一口价 600元 0 86天 back-caLL.com 英语单词,回访 一口价 500元 0 86天 ououou.cn 偶偶偶,欧欧欧 一口价 500元 0 86天 cacaca.cn 擦擦擦 一口价 500元 0 86天 yingyingying.cn 影影影,赢赢赢,盈盈盈 一口价 600元 0 86天 tape-recording.com 英语单词,磁带录音 一口价 500元 0 86天 sparkbigdata.cn spark大数据,最牛比的大数据技...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7