剖析微软HadoopOnAzure的大数据处理功效_u盘数据怎

日期:2015-07-17 / 人气: / 来源:网络

在大数据技术中,Apache Hadoop和MapReduce是最受用户关注的。但管理Hadoop分布式文件系统,或用Java编写执行MapReduce任务则不是简单的事。那么Apache Hive也许能帮助您解决这一难题。

分析微软HadoopOnAzure的大数据处理功能

Hive数据仓库工具也是Apache Foundation的一个项目,同时是Hadoop生态系统的关键组件之一,它提供了基于语境的查询语句,即Hive查询语句。这套语句可以将SQL类查询自动翻译成MapReduce工作指令。

在BI领域,包括IBM DB2、Oracle和SQL Server在内的关系型数据库一直处于统治地位。这使得SQL成为商业智能的首选语言,大部分数据分析专家都掌握了较强较全面的SQL技能。同样道理,做数据分析的专家对Excel,Pivot表格和图表等工具更熟悉。

先让我们来看一个端到端的BI项目在Windows Azure系统中是如何运行的。在Excel图表中显示美国航空公司的航班正点到达的数据,数据量很大,整个过程不需要编写任何程序代码。

Windows Azure CTP上的Apache Hadoop

分析微软HadoopOnAzure的大数据处理功能

去年年底,微软SQL Server研发团队宣布了Windows Azure平台上的Apache Hadoop功能,即HadoopOnAzure。微软方面称这将简化Hadoop的使用和设置,利用Hive来从Hadoop集群中提取非结构化的数据,并在Excel工具中进行分析,同时增强了Windows Azure的弹性。

HadoopOnAzure的社区预览版还处于未公开状态,用户需要在Microsoft Connect上填写一个简单的问卷调查来获得邀请码,并通过Windows Live ID登陆。输入唯一的DNS用户名,选择初始Hadoop集群大小,提供一个集群登录名和密码,点击Request Cluster按钮。(见图1)

分析微软HadoopOnAzure的大数据处理功能

图1 用户只需简单的操作即可修改一个集群设置(点击放大)

开通并设置集群需要15到30分钟时间。HadoopOnAzure社区预览版的资源是免费的,但开通集群24小时之内,你需要在最后6小时的时候更新一下订阅。此后的使用过程中,证书需要每天都更新一次。

用户如要使用Windows Azure的blob持久性数据存储,那么就需要一个Windows Azure的订阅和一个存储账户。否则当集群超时,所有存储在HDFS上的数据都将丢失。如果没有订阅,用户还可以申请注册免费试用三个月的 Windows Azure账号,这个账号赠送每位用户20GB存储空间、上百万次存储传输以及20GB的外网带宽。

向SQL Azure blob中填充大数据

这个Apache Hive项目从美国联邦航空管理局(FAA)提取数据,收集了2011年后5个月到2012年1月共6个月以来航班正点到达的信息及延误信息。6页文本资料子集包涵FAA文件栏,栏下有50万行数据每页25 MB。

用户需要将数据上传到一个blob container的文件夹中,这样Hive可搜索到这些数据。关于如何创建Azure blob源数据的详细步骤,可以参考我之前的一篇文章。文章还提到了数据文件以及如何用Windows Live SkyDrive账号下载数据,最后怎样将数据上传到Windows Azure blob的具体步骤。

集群配置完成后,将弹出Elastic MapReduce门户登录页面和集群、账户管理对话框。(见图2)

分析微软HadoopOnAzure的大数据处理功能

图2:HadoopOnAzure的MapReduce控制板页面特性和功能。(点击放大)

复制Windows Azure管理门户的Primary Access Key保存到剪切板,点击Manage Cluster,打开页面然后点击Set Up ASV(Azure存储库),将Windows存储账户作为Hive表的数据源。此外,用户还可以使用Amazon S3或Windows Azure Dataplace DataMarket中的数据作为Hive表的数据源。

输入你的存储账号,在Passkey框中粘贴Primary Access Key,点击保Save Settings,Hive即可成功登录数据库访问blob。如果证书获得认证,用户将收到短信通知Azure账号设置成功。

与HDFS不同,即便是最简单的KV(Key-Value)数据,Hive表都需要有schema。要从非HDFS或外部制表符号数据中生成一个 Hive表,给其列命名并定义数据类型的话,用户就需要运行 CREATE EXTERNAL TABLE语句,如下面的HiveQL所示:

CREATE EXTERNAL TABLE flightdata_asv (

year INT,

month INT,

day INT,

carrier STRING,

origin STRING,

dest STRING,

depdelay INT,

arrdelay INT

)

COMMENT 'FAA on-time data'

ROW FORMAT DELIMITED FIELDS TERMINATED by '9'

STORED AS TEXTFILE

LOCATION 'asv://aircarrier/flightdata';

Apache Hive的数据类型相对较少,并且不支持日期或时间字段,好在源数据*.csv对应的整数字段如年,月和日数值正好有利于数据的维护。出发(depdelay)和到达(arrdelay)的延误时间值将以分钟的形式呈现。

执行动态HiveQL语句,可以点击Elastic MapReduce的Interactive Console,然后点击Hive按钮打开动态Hive页面,页面顶部出现只读文本框,点击下方文本框为说明。(见图3)

分析微软HadoopOnAzure的大数据处理功能

图3:Hive图表选项列表包括新图表标题,列单元格显示某个选定图表字段名。点击��键在单元格中插入选定的条目。(点击放大)

下载并安装Apache Hive ODBC驱动及Excel插件

返回Elastic MapReduce主页面,点击Downloads面板。找到与用户Excel版本对应的安装链接,然后点击Run,打开警告对话框。点击More Options,出现Run Anyway选项,点击开始安装,打开ODBC驱动启动Hive设置对话。在I Accept框中打钩。

点击Install开始安装驱动,完成后点击Finish退出安装。下一步,打开Excel,点击Data标签,确认Hive Pane图标存在,点击图标,工作表右面出现Hive Query仪表盘。安装插件会放置一个Hive Pane图标到目录的Hive Data部分。

返回EMR控制主页面,点击Open Ports打开Configure Ports页面,点击ODBC Server,往右拖动,打开TCP port 10000。

执行交互式Apache Hive查询

返回Excel,点击Hive Pane图标,打开Hive Query任务框,点击Enter Cluster Details来打开ODBC Hive Setup对话框,输入一个描述及DNS主机名称,接受TCP端口。下一步,选择Username/Password authentication,输入你的Elastic MapReduce门户实例的用户名及密码。(见图4)

分析微软HadoopOnAzure的大数据处理功能

图4:每个链接,机场,TCP端口和集群用户名密码都有其对应的具体名称。(点击放大)

若ODBC Hive对话框中设置的Hive选项正确,那么当用户打开Select or Enter Hive Connection时,输入的名称会作为描述字段弹出。打开Select the Hive Object to Query列表,选择flightdata_asv生成Columns列表。

如要执行一个聚合查询来显示延误的平均时间,可以勾选carrier和arrdelay栏,打开arrdelay字段的函数列表,然后双击列表中的avg,将其添加到HiveQL语句当中(见图5)。

分析微软HadoopOnAzure的大数据处理功能

图5:选择avg HiveQL进行聚合查询并双击,HiveQL功能比大多数的SQL更丰富一些

下一步,划去Limit Results勾选框,打开Aggregate Grouping列表,选择carrier列。

在avg()中输入arrdelay,如avg(arrdelay),这可以消除查询语句设计流程的缺陷,点击Execute Query得出查询结果。(见图6)

分析微软HadoopOnAzure的大数据处理功能

图6:这是HiveQL查询执行后的结果,B6好F9是FAA专用的两个字节代码,B6指代Jet Blue,F9指代Frontier Airlines。

删除错误的Carrier条目,这可能是由于每列的首标发生错误,导致信息被留在了文档中,结果出现在查询结果里。保留一位小数,关掉任务框,将信息添加到工作表,添加标题,X轴标题和数据标签。(见图7)

分析微软HadoopOnAzure的大数据处理功能

图7:Excel表单从图6的数据中生成得来

文章给出的例子阐述了运行HadoopOnAzure CTP的简单流程。微软代码为“Cloud Numerics” 的项目也有相似的功能,但是它需要我们在Visual Studio 10以上版本的环境中进行操作。HadoopOnAzure能够将表格数据直接传送到Excel当中,以便做进一步的分析。此外,交互式Hive、 Hive ODBC数据源以及对应的Excel插件,都使得HadoopOnAzure成为大数据处理的理想平台。

原文链接:http://www.searchbi.com.cn/showcontent_62711.htm

Hadoop峰会:Cloudera与Hortonworks谁能一骑绝尘?

今年Hadoop峰会上的最大讨论热点之一在于Cloudera与Hortonworks这对知名度极高的竞争对手之间的比拼与竞逐。目前随着市场的成熟,双方的对抗已经趋于白热化,而Cloudera最近获得由英特尔牵头的大笔资金援助的消息更是起到推波助澜的作用。不过这

Hadoop实战

作者:管理员




现在致电4006-2991-90 OR 查看更多联系方式 →

Go To Top 回顶部