要通过Java在HBase中创建一个数据表,首先需要导入hbase-client.jar驱动包。可以在项目pom.xml配置文件中添加依赖:
要通过Java在HBase中创建一个数据表,首先需要导入hbase-client.jar驱动包。可以在项目pom.xml配置文件中添加依赖:
在添加依赖后,我们需要创建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(); } } } }Hadoop+HBase搭建云存储总结 PDF
HBase 结点之间时间不一致造成regionserver启动失败
Hadoop+ZooKeeper+HBase集群配置
Hadoop集群安装&HBase实验环境搭建
基于Hadoop集群的HBase集群的配置 ‘
Hadoop安装部署笔记之-HBase完全分布模式安装
单机版搭建HBase环境图文教程详解
HBase 的详细介绍:请点这里
HBase 的下载地址:请点这里
本文永久更新链接地址: