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 相关项目的设置或程序的创建
如果我们观察上面的截图。
- 在此框中输入项目名称。在本例中,我们的项目名称是“HbaseConnection”
- 勾选此框以保存默认位置。在本例中,路径是 /home/hduser/work/HbaseConnection
- 在此勾选 Java 环境的框。在本例中,JavaSE-1.7 是 Java 版本
- 选择要保存文件的选项。在本例中,我们选择了第二个选项“为源文件和类文件创建单独的文件夹”
- 点击完成按钮。
- 点击完成按钮后,它将在 eclipse 中创建“HbaseConnection”项目。
- 点击完成按钮后,它将直接进入 eclipse 主页。
第二步:配置 Eclipse 中的构建路径
在 Eclipse 主页上,按照以下步骤操作
Right click on project -> Select Build Path -> Configure build path
从上面的截图
- 右键单击项目
- 选择构建路径
- 选择配置构建路径
点击“配置构建路径”后,它会打开另一个窗口,如下图所示。
在此步骤中,我们将把相关的 HBase jars 添加到 Java 项目中,如下图所示。
- 需要添加的重要 jars:hbase-0.94.8.jar, hadoop-core-1.1.2.jar
- 点击完成按钮
- 进入库
- 按选项 - 添加外部 Jar
- 选择所需的 Jars
- 按完成按钮将这些文件添加到 Java 项目的“src”下的库中
添加这些 jars 后,它们将显示在项目“src”位置下。所有属于项目的 Jar 文件现在都可以与 Hadoop 生态系统一起使用了。
第三步:建立 HBase 连接
在此步骤中,使用 HBaseConnection.java,将通过 Java 代码建立 HBase 连接。
- 选择运行
- 选择运行方式为 Java 应用程序
- 此代码将通过 Java API 与 HBase 建立连接。
- 运行此代码后,HBase 中将创建名为“guru99”的表,并具有两个列族:“education”和“projects”。目前,HBase 中只创建了空模式。
从上面的截图中,我们正在执行以下功能
- 使用 HTableDescriptor,我们可以创建 HBase 中的“guru99”表。
- 使用 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”已被创建。
HBase 使用 Shell 创建表
在 HBase 中使用 Shell 创建表的语法是
Syntax: create <tablename>, <columnfamilyname>
示例:-
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 中的表来执行。
- 表执行以下功能
- 创建带列名和行的表
- 向表中插入值
- 从表中检索值