快速入门:使用 HBase Shell 在 Azure HDInsight 中查询 Apache HBase

本快速入门介绍如何使用 Apache HBase Shell 来创建 HBase 表,插入数据,然后对表进行查询。

如果没有 Azure 订阅,可在开始前创建一个试用帐户

先决条件

创建表并操作数据

对于大多数人而言,数据以表格形式显示:

HDInsight Apache HBase 表格数据。

在 HBase(Cloud BigTable 的一种实现)中,相同的数据看起来类似于:

HDInsight Apache HBase BigTable 数据。

可以使用 SSH 连接到 HBase 群集,然后使用 Apache HBase Shell 来创建 HBase 表以及插入和查询数据。

  1. 使用 ssh 命令连接到 HBase 群集。 编辑以下命令,将 CLUSTERNAME 替换为群集的名称,然后输入该命令:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.cn
    
  2. 使用 hbase shell 命令来启动 HBase 交互式 shell。 在 SSH 连接中输入以下命令。

    hbase shell
    
  3. 使用 create 命令,创建包含双列系列的 HBase 表。 输入以下命令:

    create 'Contacts', 'Personal', 'Office'
    
  4. 使用 list 命令,列出 HBase 中的所有表。 输入以下命令:

    list
    
  5. 使用 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.'
    
  6. 使用 scan 命令扫描并返回 Contacts 表数据。 输入以下命令:

    scan 'Contacts'
    
  7. 使用 get 命令提取某个行的内容。 输入以下命令:

    get 'Contacts', '1000'
    

    看到的结果与使用 scan 命令的结果类似,因为只有一个行。

  8. 使用 delete 命令删除表中的单元格值。 输入以下命令:

    delete 'Contacts', '1000', 'Office:Address'
    
  9. 使用 disable 命令禁用表。 输入以下命令:

    disable 'Contacts'
    
  10. 使用 drop 命令从 HBase 中删除表。 输入以下命令:

    drop 'Contacts'
    
  11. 使用 exit 命令来停止 HBase 交互式 shell。 输入以下命令:

    exit
    

有关 HBase 表架构的详细信息,请参阅 Apache HBase 架构设计简介。 有关 HBase 命令的详细信息,请参阅 Apache HBase 参考指南

清理资源

完成本快速入门后,可以删除群集。 有了 HDInsight,便可以将数据存储在 Azure 存储中,因此可以在群集不用时安全地删除群集。 此外,还需要支付 HDInsight 群集费用,即使未使用。 由于群集费用高于存储空间费用数倍,因此在不使用群集时将其删除可以节省费用。

若要删除群集,请参阅使用浏览器、PowerShell 或 Azure CLI 删除 HDInsight 群集

后续步骤

本快速入门介绍了如何使用 Apache HBase Shell 来创建 HBase 表,插入数据,然后对表进行查询。 若要详细了解存储在 HBase 中的数据,请参阅下一篇文章,其中介绍了如何使用 Apache Spark 执行查询。