HBase 使用 Java API 和 Shell 创建表示例

在 HBase 中,我们可以通过两种方式执行表操作

  • JAVA API
  • Shell 命令

我们将学习如何使用这两种方法在 HBase 中创建表

如何使用 Java API 在 HBase 中创建表

在本节中,我们将通过 Java API 使用 Java 代码执行一些操作。

通过 Java API,我们可以创建 HBase 表,也可以使用 Java 代码向表中加载数据。

  • 通过 Java API 与 HBase 建立连接
  • 使用 Eclipse 进行 Java 编码、调试和测试

通过 Java API 建立连接

以下是通过 Java API 在 HBase 中创建表的步骤

第一步:在 Eclipse 中创建 Java 项目

在此步骤中,我们将为 HBase 连接在 Eclipse 中创建一个 Java 项目。

在 eclipse 中创建名为“HbaseConnection”的新项目。

用于 Java 相关项目的设置或程序的创建

Create Table in HBase with Java API

如果我们观察上面的截图。

  1. 在此框中输入项目名称。在本例中,我们的项目名称是“HbaseConnection”
  2. 勾选此框以保存默认位置。在本例中,路径是 /home/hduser/work/HbaseConnection
  3. 在此勾选 Java 环境的框。在本例中,JavaSE-1.7 是 Java 版本
  4. 选择要保存文件的选项。在本例中,我们选择了第二个选项“为源文件和类文件创建单独的文件夹”
  5. 点击完成按钮。
  • 点击完成按钮后,它将在 eclipse 中创建“HbaseConnection”项目。
  • 点击完成按钮后,它将直接进入 eclipse 主页。

第二步:配置 Eclipse 中的构建路径

在 Eclipse 主页上,按照以下步骤操作

Right click on project -> Select Build Path -> Configure build path

Create Table in HBase with Java API

从上面的截图

  1. 右键单击项目
  2. 选择构建路径
  3. 选择配置构建路径

点击“配置构建路径”后,它会打开另一个窗口,如下图所示。

在此步骤中,我们将把相关的 HBase jars 添加到 Java 项目中,如下图所示。

  • 需要添加的重要 jars:hbase-0.94.8.jar, hadoop-core-1.1.2.jar
  • 点击完成按钮

Create Table in HBase with Java API

  1. 进入库
  2. 按选项 - 添加外部 Jar
  3. 选择所需的 Jars
  4. 按完成按钮将这些文件添加到 Java 项目的“src”下的库中

添加这些 jars 后,它们将显示在项目“src”位置下。所有属于项目的 Jar 文件现在都可以与 Hadoop 生态系统一起使用了。

第三步:建立 HBase 连接

在此步骤中,使用 HBaseConnection.java,将通过 Java 代码建立 HBase 连接。

  • 在 Eclipse 顶部菜单中,执行如下 Java 程序:运行 -> 运行方式 -> Java 应用程序

    Create Table in HBase with Java API

  1. 选择运行
  2. 选择运行方式为 Java 应用程序
  • 此代码将通过 Java API 与 HBase 建立连接。
  • 运行此代码后,HBase 中将创建名为“guru99”的表,并具有两个列族:“education”和“projects”。目前,HBase 中只创建了空模式。

Create Table in HBase with Java API

从上面的截图中,我们正在执行以下功能

  1. 使用 HTableDescriptor,我们可以创建 HBase 中的“guru99”表。
  2. 使用 addFamily 方法,我们将为“guru99”表添加“education”和“projects”作为列名。

以下代码将

  • 建立与 HBase 的连接,并且
  • 创建带有两列的“guru99”表。

代码放在 HBaseConnection_Java 文档中

// Place this code inside Hbase connection
import java.io.IOException;
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.client.HBaseAdmin;							

public class HBaseConnection							
{							
    public static void main(String[] args) throws IOException						
    {							
	HBaseConfigurationhc = new HBaseConfiguration(new Configuration());										
	HTableDescriptorht = new HTableDescriptor("guru99"); 										

	ht.addFamily( new HColumnDescriptor("education"));					
	ht.addFamily( new HColumnDescriptor("projects"));										
	System.out.println( "connecting" );										
	HBaseAdminhba = new HBaseAdmin( hc );								

	System.out.println( "Creating Table" );								
	hba.createTable( ht );							
	System.out.println("Done......");										
    }						
}

这是您需要放在 HBaseConnection.java 中并运行 Java 程序的必要代码。

运行此程序后,它将建立与 HBase 的连接,进而创建一个带有列名的表。

  • 表名是“guru99”
  • 列名是“education”和“projects”

第四步:检查创建的表在 HBase 中

我们可以通过使用 HBase shell 模式和“list”命令来检查“guru99”表是否已创建,以及是否带有两个列。

“list”命令提供有关 HBase 中所有已创建表的信息。

在此屏幕中,我们将进行

  • 通过执行“list”命令在 HBase shell 中检查代码。
  • 如果我们运行“list”命令,它将如下显示在 HBase 中创建的表。在本例中,我们可以看到表“guru99”已被创建。

Create Table in HBase with Java API

HBase 使用 Shell 创建表

在 HBase 中使用 Shell 创建表的语法是

Syntax: create <tablename>, <columnfamilyname>

HBase Create Table with Shell

示例:-

hbase(main):001:0> create 'education' ,'guru99'
0 rows(s) in 0.312 seconds
=>Hbase::Table – education

上面的示例解释了如何根据字典或规范,并指定列族来创建 HBase 表。此外,我们还可以将一些表范围的属性传递进去。

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}

摘要

  • HBase 是一个面向列的 NoSQL 数据库,用于在 Hadoop 生态系统之上存储大量数据。
  • 在 HBase 中处理表是一件非常重要的事情,因为所有重要功能,例如数据操作、数据增强和数据建模,都只能通过 HBase 中的表来执行。
  • 表执行以下功能
    1. 创建带列名和行的表
    2. 向表中插入值
    3. 从表中检索值