2014 年 6 月 3 日,">Azure HDInsight 公开了一项更新消息,Azure HDInsight 将支持 Hadoop 2.4,并提升查询数据的效能 100 倍。而今天,我们宣布在 HDInsight 产品中,开始预览 Apache HBase 丛集(cluster)。
HBase 是一个低延迟的 NoSQL 数据库,适合用来做大数据的在线事务处理(OLTP, online transactional processing)。我们在 Azure 中提供 HBase 丛集,而丛集的数据直接储存于 Azure Blob 之中,如此一来便能在成本及效能的考虑上,取得最大的存取效能以及扩充弹性。这个产品让我们的客户能拥有一个大型数据库来建立高互动性的网站、或是储存从百万个传感器回传的遥测数据等等,并且能在 Hadoop 中分析这些数据。
如何建立 HBase 丛集
由于目前 Azure HDInsight 上的 HBase 还在预览阶段,所以操作上需要利用 PowerShell。
安装为 Azure 环境优化的 PowerShell
按照文章步骤设定环境
利用下列指令将 Azure 的认证数据存在变量中:
PS C:\> $creds = Get-Credential
建立 HBase 丛集(可根据需求修改数据中心位置,以及修改 Blob 账号的数据):
PS C:\> New-AzureHDInsightCluster -Name yourclustername -ClusterType HBase -Version 3.0 -Location “West US” ` -DefaultStorageAccountName yourstorageaccount.blob.core.windows.net -DefaultStorageAccountKey “yourstorageaccountkey” ` -DefaultStorageContainerName hbasecontainername -Credential $creds -ClusterSizeInNodes 4
在 HBase 丛集中操作数据
应用程序开发人员可以透过 REST APIs 、HBase shell 或是不同的 map/reduce 工具如 Hive 及 Pig 来存取 HBase 的数据,HBase shell 提供了一个交互式的控制台(console)让您可以管理 HBase 丛集、建立或删除数据表(table)、以及操作数据。
要使用 HBase shell,首先您必须开启建立的 HBase 丛集的远程桌面联机(RDP)来连上它。
在丛集建立完成时,你可以在 Azure 管理接口上设定(CONFIGURATION)的页面中,在最下方按下 ENABLE REMOTE 的按钮来开启 RDP,最后可以利用 CONNECT 按钮来进行联机。
连结进丛集后,按下桌面上 Hadoop command prompt的快捷方式,然后输入下列指令来开启 HBase shell:
cd %HBASE_HOME%\bin
hbase shell
下面的指令则是建立一个范例数据表,并且加入一列数据、以及列出数据表的所有数据:
create ‘sampletable’, ‘cf1′
put ‘sampletable’, ‘row1′, ‘cf1:col1′, ‘value1′
scan ‘sampletable’