大数据的救世主:Apache Hadoop和Hive(上)

日期: 2012-06-11 作者:Roger Jennings翻译:陈小波 来源:TechTarget中国 英文

Apache Hadoop和MapReduce吸引了大量大数据分析专家和商业智能专家的眼球。然而将Hadoop分散文件系统广泛化,或能用Java语言编写或执行Mapreduce工作则需要真正严格上乘的软件开发技术。Apache Hive将是唯一的解决办法。   Apache软件基础工程Hive的数据库组成部分,也是基于云的Hadoop生态系统,提供了基于语境的查询语句称作Hive查询语句。

这套语句将SQL类查询语句自动翻译成MapReduce工作指令。   相关数据库,如IBM DB2,Oracle和SQL服务器以及数据库应用是商业智能领域的主力军。 大部分数据分析专家都掌握了较强较全面的SQ……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

Apache Hadoop和MapReduce吸引了大量大数据分析专家和商业智能专家的眼球。然而将Hadoop分散文件系统广泛化,或能用Java语言编写或执行Mapreduce工作则需要真正严格上乘的软件开发技术。Apache Hive将是唯一的解决办法。

  Apache软件基础工程Hive的数据库组成部分,也是基于云的Hadoop生态系统,提供了基于语境的查询语句称作Hive查询语句。这套语句将SQL类查询语句自动翻译成MapReduce工作指令。

  相关数据库,如IBM DB2,Oracle和SQL服务器以及数据库应用是商业智能领域的主力军。 大部分数据分析专家都掌握了较强较全面的SQL查询语句技能。同样道理,商业分析专家普遍掌握利用Excel表单,Pivot表格和图标汇总数据的技能。

  我们看一例端对端商业智能项目在Windows Azure系统中是如何运行的。首先,大量数据形成,然后Excel图表中绘出美国具有航行资质的航空公司的航班正点到达数据,整个过程不需要编写任何程序代码。

  Windows就Azure CTP与Apache Hadoop的合作

  2011年11月,微软SQL服务器研究小组宣布Windows Azure系统或HadoopOnAzure系统下共享技术预览成型。微软强调这将简化Hadoop使用和设置,可以生成Hive查询来获取分析Hadoop Excel形式生成的非结构化数据,增强了Windows Azure的弹性。

  Hadoop On Azure CTP是不对任何人公开信息的。用户需要在微软链接上填写一个简单的问卷调查来获得邀请。收到邀请后,开始浏览HadoopOnAzure网站,用Windows Live ID号码登陆。输入全球唯一的DNS用户名,选择初始Hadoop群大小,输入一个群登录名和密码,点击获取群图标。(见图1)

图1收到HadoopOnAzure CTP邀请后,用户只需简单的几部操作即可修改一个群

图1收到HadoopOnAzure CTP邀请后,用户只需简单的几部操作即可修改一个群

  处理群需要花费将近15到30分钟时间。浏览HadoopOnAzure CTP资源是免费的,但是群要求需要用户在第一个24小时期间最后6小时内更新签名,在使用过程中,证书需要每天更新一次。

  用户需要Windows Azure签名和一个存储账号才可将Windows Azure群作为一种长期数据存储方式,否则一旦退出群,用户存储在Hadoop Distributed FileSystem中的数据将会丢失。若没有签名,用户可以申请注册免费试用三个月的Windows Azure账号,这个账号赠送每位用户20GB存储空间以及上百万次存储传输功能和20GB的外网带宽。

  SQL Azure群在大数据使用领域的扩张

  这个Apache Hive项目从美国联邦航空署提取数据,收集了2011年后5个月到2012年1月共六个月以来航班正点到达的信息及延误信息。6页文本资料子集包涵联邦航空署文件栏,栏下有500,000行共25MB容量的信息。

  用户需要将数据上载到一个文件夹中,文件夹涵括在群容器内,Hive可搜索到这些数据。我的博客中有如何创建Azure群源数据的详细步骤。上面也有数据库信息,以及如何用Windows Live SkyDrive账号下载数据,最后怎样将数据上传到微软芝加哥数据中心的Windows Azure群。

  当群数据形成后,,MapReduce门户登录页面弹出,页面呈现出都市化的浏览页面,并弹出群和账户管理对话框。(见图2)

图2:HadoopOnAzure的MapReduce控制板页面特性和功能。

图2:HadoopOnAzure的MapReduce控制板页面特性和功能。

  复制Windows Azure 管理门户的初始登录密码保存到剪切板,点击管理群,打开页面然后点击设置ASV(Azure存储库),将Windows 存储账户作为Hive桌面的数据存储中心。或者,用户可以将Hive桌面的数据存储到Amazon S3(建议存储服务)或Windows Azure数据集中地和数据市场。
输入你的存储账号,在密码框中粘贴初始登录密码数值,点击保存设置,Hive即可成功登录数据库。如果证书获得认证,用户将收到短信通知Azure账号设置成功。

  不像HDFS,在Hive表格中,就算最简易的关键值数据都需要图表描绘。

  要将非HDFS文件,外部文件,分隔数据转换成Hive图表,给其列命名,定义数据类型,用户需要运行创建外部表格,看一下实例。用Hive语句创建fightdata文件夹,文件中描绘的是载客飞机的信息。

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';

  ApacheHive没有太多数据类型,并且不支持日期或时间字段,因此源数据*.csv对应的整数字段如年,月和日数值正好有利于数据的维护。出发和到达数值以分钟的形式呈现。

  执行动态Hive语句,请点击MapReduce动态控制板,然后点击Hive按钮打开动态Hive页面,页面顶部出现只读文本框,点击下方文本框为说明指示语句。(见图3)

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

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

  在《大数据的救世主:Apache Hadoop和Hive(下)》中,我们会继续介绍相关内容。