设为首页 加入收藏

TOP

建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们
2018-11-13 15:25:47 】 浏览:39
Tags:建立 HBase 集群 HDInsight Hadoop 使用 Hive 查询 它们

建立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仅适用于HDInsightHDInsight3.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用于HiveOozie的信息,请参阅提供一个HDInsight群集

为了提供一个HDInsightAzure中门户网站集群
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的壳牌执行该语句之前此处引用的HBasesampletable

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

3.创建一个新的Visual C#控制台应用程序检索...\ BIN\调试\ Microsoft.HBase.Client目录)所产生的Microsoft.HBase.Client.dllprotobuf.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的感悟学习如何HDInsightHadoop集群使用HBase的大数据实时情感分析

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

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇二、HBase深入使用(1)—HBase数据.. 下一篇hadoop开发第四步之Hbase

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目