建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们

在本教程中,您将学习如何创建和查询HDInsight使用HiveHadoop的HBase的表。下列步骤描述:
•如何使用提供在Azure门户的HBase的集群。
•如何启用和使用RDP访问HBase的外壳,并使用HBase的外壳创建HBase的示例表,添加行,然后列出表中的行。
•如何创建一个Hive表映射到一个现有的HBase的表,使用HiveQL查询数据在HBase的表。
•如何使用Microsoft HBase的REST客户端库.NET创建一个新的HBase的表,列出您帐户中的HBase的表,以及如何从表添加和检索行。

什么是HBase的?

HBase的是一种低延迟的NoSQL数据库,让大数据的联机事务处理。 HBase的是提供一个管理的集群集成到Azure的环境。集群被配置为直接在Azure中的Blob存储,这提供了在性能/成本的选择低延迟和增加的弹性存储数据。这使客户能够建立一个大型数据集工作的互动式网站,构建存储传感器和遥测数据,从数以百万计的端点的服务,并分析这些数据与Hadoop作业。关于HBase的,它可以被用于方案的详细信息,请参阅HDInsight HBase的概述。

注意:

HBase的(版本0.98.0)仅适用于在HDInsight与HDInsight3.1集群的使用(基于Apache Hadoop和YARN2.4.0)。对于版本信息,请查看有什么新的由HDInsight提供的Hadoop集群的版本?

先决条件:

开始之前本教程中,你必须具备以下条件:
•一个Azure订阅有关获取预订的详细信息,请参阅购买选项,会员优惠或免费试用。
•一个Azure存储帐户有关说明,请参阅如何创建存储帐户。
•与安装了Visual Studio2013的工作站。有关说明,请参阅安装Visual Studio。
•下载微软HBase的REST客户端库.NET。

估计时间来完成:30分钟

在本教程中的部分

•提供了Azure中门户网站的HBase的集群
•从HBase的外壳创建HBase的示例表
•使用Hive查询的HBase的表
•使用HBase的C#API从表中创建一个HBase的表和检索数据
•摘要
•下一步是什么?

在Azure门户提供的HBase的集群

本节将介绍如何使用提供在Azure门户的HBase的集群。

注意:

本文中的步骤创建使用基本配置设置HDInsight集群。对于其他群集配置设置,例如使用Azure中虚拟网络或metastore用于Hive和Oozie的信息,请参阅提供一个HDInsight群集。
 
为了提供一个HDInsight在Azure中门户网站集群
1。登录到Azure管理门户。

2。点击左侧HDInsight列出集群您的帐户,然后在左下角的+新图标的状态。

3.点击在从左侧和在下一列则HBase的选项的第二列的HDInsight图标。指定群集名称和簇大小,存储帐户的名称,并为新的HBase集群密码的值。

4.单击在较低的检查左侧的图标创建HBase的集群。

从HBase的外壳创建HBase的示例表

本节介绍如何启用和使用远程桌面协议(RDP)来访问HBase的外壳,然后用它来创建一个HBase的示例表,添加行,然后列出表中的行。

它假定您已经完成了第一部分概述的过程,所以已经成功地创建了一个HBase的集群。

启用RDP连接到HBase的集群

1.To使到HDInsight集群中的远程桌面连接,选择已创建的HBase的集群,然后单击配置选项卡。点击ENABLE在页面底部遥控按钮启用RDP连接到群集。
2.提供的配置远程桌面向导的凭据和到期日期,点击右下角的检查循环。 (这可能需要几分钟的操作来完成。)
3.To连接到HDInsight集群,点击连接按钮,在配置选项卡的底部。

打开HBase的壳

1.在你的RDP会话,点击位于桌面上的Hadoop的命令提示符快捷方式。

2.文件夹切换到HBase的主目录:

cd %HBASE_HOME%\bin

3。打开HBase的外壳:

hbase shell

创建一个示例表,添加数据和检索数据
1.创建示例表:

create 'sampletable', 'cf1'

2.添加一行到示例表:

put 'sampletable', 'row1', 'cf1:col1', 'value1'

3.列出在示例表中的行:

scan 'sampletable'

使用Hive查询的HBase的表

现在你有一个HBase的集群配置和已经创建了一个表,你可以使用Hive查询。本节将创建一个Hive表映射到HBase的表,并使用该查询中的数据HBase的表。

要打开集群仪表板
1.登录到Azure管理门户。
2.从左侧窗格中点击HDINSIGHT。你会看到创建包括你刚才在上一节中创建的群列表。
3.单击您要运行的Hive作业的群集名称。
4.单击管理CLUSTER从页面底部的疏散星团仪表板。它不同的浏览器选项卡上打开一个网页。

5.输入Hadoop的用户帐户的用户名和密码。默认用户名为admin,密码是您在提供过程中输入的内容。仪表板是这样的:

要运行Hive查询

1。 要创建一个Hive表映射到HBase的表,在下面输入HiveQL脚本到Hive控制台窗口,然后点击提交按钮。请确保您已创建使用HBase的壳牌执行该语句之前此处引用的HBase中的sampletable。

CREATE EXTERNAL TABLE hbasesampletable(rowkey STRING, col1 STRING, col2 STRING)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,cf1:col1,cf1:col2')
TBLPROPERTIES ('hbase.table.name' = 'sampletable');

2.要执行一个Hive查询在数据中的HBase的,输入下面的HiveQL脚本到Hive控制台窗口,然后点击提交按钮。

SELECT count(*) FROM hbasesampletable;

3.要检索Hive查询的结果,请单击当作业完成执行作业会话窗口中查看详细信息链接。

注:HBase的外壳链接切换标签到HBase的外壳。

浏览输出文件

1.从群集面板,单击文件从顶部。
2.Click普顿 - 求职状态。
3.Click拥有的最后修改时间作业开始时间之前记录下来后,一点点的GUID数。记下此GUID的。你会需要它在下一节。
4,标准输出文件中有你需要在接下来的章节中的数据。您可以单击标准输出,如果你想下载的数据文件的副本。

使用HBase的REST客户端库.NET C#API从表中创建一个HBase的表和检索数据

微软HBase的REST客户端库.NET项目必须从GitHub的建成使用HBase的.NET SDK项目下载。下面的过程包括用于此任务的指示。
1. Downnload微软HBase的REST客户端库.NET,如果你还没有满足这一前提条件。

2.打开Marlin.sln在Visual Studio中(文件 - >项目/解决方案... - >打开),从它被下载到的位置。选择查看 - >解决方案资源管理器中看到的“马林”的解决方案及其Microsoft.HBase.Client项目。构建马林项目通过在Solution Explorer中右击它并选择生成解决方案。

3.创建一个新的Visual C#控制台应用程序。检索建(从...\ BIN\调试\ Microsoft.HBase.Client目录)所产生的Microsoft.HBase.Client.dll和protobuf.dll并将它们添加到您的C#项目:在引用单击鼠标右键,选择添加引用...,浏览到两个组件,并将其上传。 protobuf网是一个.NET实现了谷歌的Protocol Buffers的二进制序列的用于数据通信。

4.添加以下using语句上的文件的顶部:

using Microsoft.HBase.Client;
using org.apache.hadoop.hbase.rest.protobuf.generated;

5.使用群集凭据创建HBase的客户端的新实例和检索集群版本:

// Create a new instance of an HBase client.
var creds = new ClusterCredentials(new Uri("https://myclustername.azurehdinsight.net"), "myusername", "mypassword");
var client = new HBaseClient(creds);// Retrieve the cluster version
var version = client.GetVersion();
Console.WriteLine(version);

6.要创建一个新的HBase的表,使用此代码:

// Create a new HBase table.
var testTableSchema = new TableSchema();
testTableSchema.name = "mytablename";
testTableSchema.columns.Add(new ColumnSchema() { name = "d" });
testTableSchema.columns.Add(new ColumnSchema() { name = "f" });
client.CreateTable(testTableSchema);

7.将数据与该代码表:

// Insert data into a table.
var tableName = "mytablename";
var testKey = "content";
var testValue = "the force is strong in this column";
var set = new CellSet();
var row = new CellSet.Row { key = Encoding.UTF8.GetBytes(testKey) };
set.rows.Add(row);var value = new Cell { column = Encoding.UTF8.GetBytes("d:starwars"), data = Encoding.UTF8.GetBytes(testValue) };
row.values.Add(value);
client.StoreCells(tableName, set);

8.要检索的细胞,其键,使用此代码。

// Retrieve a cell with its key.
var testKey = "content";
var tableName = "mytablename";var cells = client.GetCells(tableName, testKey);
// get the first value from the row.
.WriteLine(Encoding.UTF8.GetString(cells.rows[0].values[0].data));
// with the previous insert, it should yield: "the force is strong in this column"

9.扫描了与下面的代码表中的行:

//Scan over rows in a table.
var creds = new ClusterCredentials(new Uri("https://myclustername.azurehdinsight.net"), "myusername", "mypassword");
var client = new HBaseClient(creds);var tableName = "mytablename";// assume the table has integer keys and we want data between keys 25 and 35
var scanSettings = new Scanner()
{batch = 10,startRow = BitConverter.GetBytes(25),endRow = BitConverter.GetBytes(35)
};var scannerInfo = client.CreateScanner(tableName, scanSettings);
CellSet next = null;
while ((next = client.ScannerGetNext(scannerInfo)) != null)
{foreach (var row in next.rows){// ... read the rows}
}

总结

在本教程中,你已经学会了如何提供一个HBase的集群,如何创建表,并查看了HBase的外壳这些表中的数据。还学习了如何使用Hive来查询HBase的表和如何使用HBase的C#API从表中创建一个HBase的表和检索数据的数据。

下一步是什么?

HDInsight HBase的概述:HBase的是建立在Hadoop的Apache的开源的NoSQL数据库,提供了大量的非结构化和半结构化数据的随机存取和强大的一致性。

提供HBase的集群在Azure虚拟网络:随着虚拟网络集成,HBase的集群可以部署到同一个虚拟网络作为你的应用程序,使应用程序可以直接与HBase的沟通。

与HBase的在HDInsight分析Twitter的感悟:学习如何做在HDInsight的Hadoop集群使用HBase的大数据的实时情感分析。

本文翻译自Microsoft Azure:http://azure.microsoft.com/en-us/documentation/articles/hdinsight-hbase-get-started/

建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们相关推荐

  1. 基于Hadoop HA集群部署HBase HA集群(详细版)

    文章目录 1.前言 2.ZooKeeper与Hadoop.HBase的关系 3.Hadoop与HBase的关系 4.架构资源规划 5.ZooKeeper集群设置 5.1 设置nn节点的zoo.conf ...

  2. HBase停止集群报错,pid: No such file or directory

    HBase停止集群报错,pid不存在的问题 停止HBase集群时报错如下: [plain]  stopping hbasecat: /tmp/hbase-mango-master.pid: No su ...

  3. 大数据介绍、集群环境搭建、Hadoop介绍、HDFS入门介绍

    大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 文章目录 大数据介绍.集群环境搭建.Hadoop介绍.HDFS入门介绍 1.课前资料 2.课程整体介绍 3.大数据介绍 3.1 什么是大数 ...

  4. hbase的集群搭建

    1.集群搭建 1. 前置要求:   - HBASE是用Java语言编写的,所以在安装HBASE时,必须安装jdk   - 安装HBASE是必须有hadoop平台   - HBASE和jdk的版本存在兼 ...

  5. HBase 分布式集群搭建手记

    摘要 由于HBase的数据是存放在HDFS上的,HBase依赖于Hadoop环境,搭建HBase集群环境前需要搭建好Hadoop集群环境,并且这里使用独立的Zookeeper进行集群管理,所以也需要单 ...

  6. Hadoop+Hbase分布式集群架构“完全篇”

    本文收录在Linux运维企业架构实战系列 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建,操作完成后整理的个人心得,分享给大家~~~ 1.认识Hadoop和Hbase 1.1 hadoop简 ...

  7. hbase1.1.1 连接集群_Hadoop2.7.1+Hbase1.1.2集群环境搭建(10) hadoop hbase kerberos

    1.hadoop安全机制历史 在Hadoop1.0.0或者CDH3 版本之前, hadoop并不存在安全认证一说.默认集群内所有的节点都是可靠的,值得信赖的.用户与HDFS或者M/R进行交互时并不需要 ...

  8. Hadoop,Hbase伪集群安装步骤

    Hbase和Hadoop和jdk版本一定要对应,不然很容易出错 Hbase和jdk版本对应关系 Java Version HBase 1.3+ HBase 2.1+ HBase 2.3+ JDK7 支 ...

  9. hbase分布式集群搭建

    hbase和hadoop一样也分为单机版.伪分布式版和完全分布式集群版本,这篇文件介绍如何搭建完全分布式集群环境搭建. hbase依赖于hadoop环境,搭建habase之前首先需要搭建好hadoop ...

最新文章

  1. [图示]营销理论:不同时代的用户如何接受一个新事物?
  2. BZOJ 1036 [ZJOI2008]树的统计Count
  3. 深入Python(3): and、or以及and-or
  4. Python Number(数字)
  5. 理解Event的冒泡模型
  6. 物理机安装ESXI6.7提示No Network Adapters的解决方案
  7. 做到这几点,让你离高级程序员更近一步!
  8. 环形二维数组求最大子矩阵
  9. 总结htmlfile:未知的运行时错误
  10. 英语听力学习-VOA
  11. 【项目实战】高并发内存池
  12. 中国有句俗语叫“三天打鱼两天晒网”,某人从1990年1月1日起开始“三天打鱼两天晒网”,即打鱼三天,然后再晒网两天。问这个人在以后的某一天中是在打鱼还是在晒网
  13. winsxs文件夹可以删除吗?具体清理操作如下
  14. http接口测试:了解协议、请求方法、响应状态码
  15. 工作中要怎样与同事相处呢?
  16. 单纯形法和单纯形表法
  17. ESP32C3 LED PWM 控制器
  18. 日复一日对着电脑何谈健康?想要改善如何做
  19. JavaWeb—Filter过滤器
  20. 现代信号处理——高阶统计分析(非高斯信号与线性系统)

热门文章

  1. cf-1327F. AND Segments
  2. 解决“ 故障模块名称: clr.dll ”
  3. 为什么我的单片机不是“跑车”而是“牛车”,过来人告诉你。
  4. 解决在SQLYog中执行SQL语句会提示错误的信息,但数据能查出来
  5. 顺序表的c语言结构体描述,顺序表的基本方法实现C语言版
  6. 模拟斗地主发牌, 把54张牌发给三个玩家, 地主多三张, 对每个玩家的牌进行排序
  7. maven私有仓库的搭建——nexus的安装
  8. Java十年 十大组织 写在2005
  9. 给猫起名字的几种姿势
  10. c盘满了怎么迁移软件到其他盘,c盘变红了文件怎么迁移