快速入门:使用 HBase Shell 在 Azure HDInsight 中查询 Apache HBase
本快速入门介绍如何使用 Apache HBase Shell 来创建 HBase 表,插入数据,然后对表进行查询。
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
先决条件
Apache HBase 群集。 若要创建 HDInsight 群集,请参阅创建群集。 确保选择 HBase 群集类型。
SSH 客户端。 有关详细信息,请参阅使用 SSH 连接到 HDInsight (Apache Hadoop)。
创建表并操作数据
对于大多数人而言,数据以表格形式显示:
在 HBase(Cloud BigTable 的一种实现)中,相同的数据看起来类似于:
可以使用 SSH 连接到 HBase 群集,然后使用 Apache HBase Shell 来创建 HBase 表以及插入和查询数据。
使用
ssh
命令连接到 HBase 群集。 编辑以下命令,将CLUSTERNAME
替换为群集的名称,然后输入该命令:ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.cn
使用
hbase shell
命令来启动 HBase 交互式 shell。 在 SSH 连接中输入以下命令。hbase shell
使用
create
命令,创建包含双列系列的 HBase 表。 输入以下命令:create 'Contacts', 'Personal', 'Office'
使用
list
命令,列出 HBase 中的所有表。 输入以下命令:list
使用
put
命令,将指定列中的值插入特定表中的指定行。 输入以下命令:put 'Contacts', '1000', 'Personal:Name', 'John Dole' put 'Contacts', '1000', 'Personal:Phone', '1-425-000-0001' put 'Contacts', '1000', 'Office:Phone', '1-425-000-0002' put 'Contacts', '1000', 'Office:Address', '1111 San Gabriel Dr.'
使用
scan
命令扫描并返回Contacts
表数据。 输入以下命令:scan 'Contacts'
使用
get
命令提取某个行的内容。 输入以下命令:get 'Contacts', '1000'
看到的结果与使用
scan
命令的结果类似,因为只有一个行。使用
delete
命令删除表中的单元格值。 输入以下命令:delete 'Contacts', '1000', 'Office:Address'
使用
disable
命令禁用表。 输入以下命令:disable 'Contacts'
使用
drop
命令从 HBase 中删除表。 输入以下命令:drop 'Contacts'
使用
exit
命令来停止 HBase 交互式 shell。 输入以下命令:exit
有关 HBase 表架构的详细信息,请参阅 Apache HBase 架构设计简介。 有关 HBase 命令的详细信息,请参阅 Apache HBase 参考指南。
清理资源
完成本快速入门后,可以删除群集。 有了 HDInsight,便可以将数据存储在 Azure 存储中,因此可以在群集不用时安全地删除群集。 此外,还需要支付 HDInsight 群集费用,即使未使用。 由于群集费用高于存储空间费用数倍,因此在不使用群集时将其删除可以节省费用。
若要删除群集,请参阅使用浏览器、PowerShell 或 Azure CLI 删除 HDInsight 群集。
后续步骤
本快速入门介绍了如何使用 Apache HBase Shell 来创建 HBase 表,插入数据,然后对表进行查询。 若要详细了解存储在 HBase 中的数据,请参阅下一篇文章,其中介绍了如何使用 Apache Spark 执行查询。