使用 HDInsight进行开发
2013-04-04 21:55
148 查看
Windows AzureHDInsight 提供了运行 Apache Hadoop的动态供应群集来处理大数据(Big Data)的能力。您可以在这个系列的第一篇博客中找到更多信息,您也可以点击这里开始在Windows Azure 门户网站中使用它。这篇文章列举了开发人员与HDInsight交互的几种不同方法,首先通过讨论不同的场景,然后深入讨论 HDInsight 中各种不同的功能。因为我们的产品是建立在 Apache Hadoop 之上,所以开发人员可以利用一个有广泛且丰富的工具和功能的生态系统。
说起场景, 就我们合作过的客户而言,有两个截然不同的情形,创建,使用工具来处理大数据的工作,以及在应用程序中整合HDInsight,将工作的输入和输出整合为一个较大的应用程序架构的一部分。HDInsight 的一个关键设计是集成了 Windows Azure Blob Storage作为默认的文件系统。这意味着您可以使用现有的和工具和API's访问 blob 存储中的数据。该文章更详细地解释了我们如何利用Blob Storage。
就创建工作这一点而言,有大量的工具可用。深层次说,它有一套作为现有Hadoop 生态系统的一部分的工具,以及一组我们建立的项目帮助.NET 开发人员开始学习Hadoop,同时我们已经开始了新的项目帮助开发人员利用 JavaScript 与 Hadoop交互。
创建工作 现有的 Hadoop 工具 HDInsight 是通过 Hortonworks Data Platform来使用 Apache Hadoop,对于Hadoop 的生态系统有很高的保真度。因此,许多功能都和原来的完全一样。这意味着你在下面列出的任何工具的投资和知识都在 HDInsight 中可用。分布式处理群集由下面的Apache 项目创建:
Map/Reduce 在Hadoop上,Map/Reduce是分布式处理的基础。为了编写工作, 程序员可以使用Java, 或者通过Hadoop Streaming使用其他语言和运行时.
这里提供了在 HDInsight 上编写Map/Reducejobs的简易指南.
Hive Hive使用一种类似于 SQL 的语法来表达编译一组被编译成Map/Reduce程序的查询。Hive支持SQL中的许多结构(聚合、 分组、 过滤等),并轻松地在您的群集中的各节点并行化这些查询。
这里提供了使用Hive的方法
Pig Pig是一种数据流语言,使用一种叫做Pig Latin的语言编译成一系列的Map/Reduce程序。
这里提供了在HDInsight上使用Pig的入门指南.
Oozie Oozie 是一种工作流调度程序, 用来管理行动的有向无循环图,其中的行动可以是Map/Reduce, Pig, Hive或其他工作。详细信息请点击这里参阅快速入门指南.
您可以在这里找到 Hadoop 组件更新列表。下表表示为当前预览版中各组件的版本:
Apache Hadoop
1.0.3
Apache Hive
0.9.0
Apache Pig
0.9.3
Apache Sqoop
1.4.2
Apache Oozie
3.2.0
Apache HCatalog
0.4.1
Apache Templeton
0.1.4
此外,Hadoop 空间的其他项目, 例如Mahout(参见示例) 或Cascading, 也可以方便地用在 HDInsight之上。有关这些主题我们将在今后另外写文章介绍。
.NET工具 我们正努力开发一组工具让开发人员能利用他们的.NET技能和投资来使用 Hadoop。这些项目放在CodePlex上,你可以从NuGet上下载这个工具包创建运行在HDInsight上的工作。有关这些介绍请参阅CodePlex 站点上的快速入门。
.NET Map/Reduce
LINQ to Hive
运行工作 想要运行任意一项工作,有如下几个方法:
直接从头节点运行它们。若要执行此操作,远程连接到您的群集,打开 Hadoop 命令提示符,并直接使用命令行工具
在群集上使用REST API's远程提交它们(更多详细信息请参见下一节关于如何集成HDInsight到您的应用程序中的说明)
利用 HDInsight 仪表板上的工具。创建您的群集后,群集仪表板中提供了一些功能用来提交工作: 创建工作
交互式控制台
集成 HDInsight到您的应用程序 打开REST API's 为了提供一个简单的接口供客户端应用程序集成,我们努力确保群集上的所有功能都通过一组安全的REST API's暴露给客户端。
WebHCatalog— — 元数据管理及远程工作提交、 历史记录和管理
Ambari— — 运行中群集的监测
Oozie— — 管理和调度 Oozie 工作流
我们目前已经对这些 API 提供了.NET 客户端类库,点击这里下载,你能够自行在其他语言中轻松地使用HTTP 堆栈构建客户端。
通过 ODBC 连接 利用 ODBC 客户端 (说明请参阅这里),就可以轻松地整合现有的应用程序 (例如Excel) 访问存储在HDInsight上 Hive表中的数据。
调试/测试 为了能在Azure上不连接群集都可以工作,我们开发了HDInsight Developer Preview,你可以轻松从 Web Platform Installer上一键安装。您可以利用它通过一小组数据来实验、调试和测试前面提及的所有技术。然后您可以将项目部署到 Azure 并运行Blob Storage上的大数据。若要安装它,只需在Web Platform Installer上搜索HDInsight,或点击这里直接从 web安装。
总结 本文为您编写Hadoop jobs以及集成HDInsight到您的应用程序介绍了多种方法。HDInsight 使您能够用自己选择的用平台和工具进行开发,从Java到.NET 到JavaScript都可以,并且很容易地使用 Windows Azure部署和管理群集。
我们HDInsight 5篇博客系列的最后一篇将探讨如何用Excel分析 HDInsight中的数据。敬请关注 !
文章翻译自:http://blogs.msdn.com/b/windowsazure/archive/2013/03/22/developing-for-hdinsight.aspx
说起场景, 就我们合作过的客户而言,有两个截然不同的情形,创建,使用工具来处理大数据的工作,以及在应用程序中整合HDInsight,将工作的输入和输出整合为一个较大的应用程序架构的一部分。HDInsight 的一个关键设计是集成了 Windows Azure Blob Storage作为默认的文件系统。这意味着您可以使用现有的和工具和API's访问 blob 存储中的数据。该文章更详细地解释了我们如何利用Blob Storage。
就创建工作这一点而言,有大量的工具可用。深层次说,它有一套作为现有Hadoop 生态系统的一部分的工具,以及一组我们建立的项目帮助.NET 开发人员开始学习Hadoop,同时我们已经开始了新的项目帮助开发人员利用 JavaScript 与 Hadoop交互。
创建工作 现有的 Hadoop 工具 HDInsight 是通过 Hortonworks Data Platform来使用 Apache Hadoop,对于Hadoop 的生态系统有很高的保真度。因此,许多功能都和原来的完全一样。这意味着你在下面列出的任何工具的投资和知识都在 HDInsight 中可用。分布式处理群集由下面的Apache 项目创建:
Map/Reduce 在Hadoop上,Map/Reduce是分布式处理的基础。为了编写工作, 程序员可以使用Java, 或者通过Hadoop Streaming使用其他语言和运行时.
这里提供了在 HDInsight 上编写Map/Reducejobs的简易指南.
Hive Hive使用一种类似于 SQL 的语法来表达编译一组被编译成Map/Reduce程序的查询。Hive支持SQL中的许多结构(聚合、 分组、 过滤等),并轻松地在您的群集中的各节点并行化这些查询。
这里提供了使用Hive的方法
Pig Pig是一种数据流语言,使用一种叫做Pig Latin的语言编译成一系列的Map/Reduce程序。
这里提供了在HDInsight上使用Pig的入门指南.
Oozie Oozie 是一种工作流调度程序, 用来管理行动的有向无循环图,其中的行动可以是Map/Reduce, Pig, Hive或其他工作。详细信息请点击这里参阅快速入门指南.
您可以在这里找到 Hadoop 组件更新列表。下表表示为当前预览版中各组件的版本:
Apache Hadoop
1.0.3
Apache Hive
0.9.0
Apache Pig
0.9.3
Apache Sqoop
1.4.2
Apache Oozie
3.2.0
Apache HCatalog
0.4.1
Apache Templeton
0.1.4
此外,Hadoop 空间的其他项目, 例如Mahout(参见示例) 或Cascading, 也可以方便地用在 HDInsight之上。有关这些主题我们将在今后另外写文章介绍。
.NET工具 我们正努力开发一组工具让开发人员能利用他们的.NET技能和投资来使用 Hadoop。这些项目放在CodePlex上,你可以从NuGet上下载这个工具包创建运行在HDInsight上的工作。有关这些介绍请参阅CodePlex 站点上的快速入门。
.NET Map/Reduce
LINQ to Hive
运行工作 想要运行任意一项工作,有如下几个方法:
直接从头节点运行它们。若要执行此操作,远程连接到您的群集,打开 Hadoop 命令提示符,并直接使用命令行工具
在群集上使用REST API's远程提交它们(更多详细信息请参见下一节关于如何集成HDInsight到您的应用程序中的说明)
利用 HDInsight 仪表板上的工具。创建您的群集后,群集仪表板中提供了一些功能用来提交工作: 创建工作
交互式控制台
集成 HDInsight到您的应用程序 打开REST API's 为了提供一个简单的接口供客户端应用程序集成,我们努力确保群集上的所有功能都通过一组安全的REST API's暴露给客户端。
WebHCatalog— — 元数据管理及远程工作提交、 历史记录和管理
Ambari— — 运行中群集的监测
Oozie— — 管理和调度 Oozie 工作流
我们目前已经对这些 API 提供了.NET 客户端类库,点击这里下载,你能够自行在其他语言中轻松地使用HTTP 堆栈构建客户端。
通过 ODBC 连接 利用 ODBC 客户端 (说明请参阅这里),就可以轻松地整合现有的应用程序 (例如Excel) 访问存储在HDInsight上 Hive表中的数据。
调试/测试 为了能在Azure上不连接群集都可以工作,我们开发了HDInsight Developer Preview,你可以轻松从 Web Platform Installer上一键安装。您可以利用它通过一小组数据来实验、调试和测试前面提及的所有技术。然后您可以将项目部署到 Azure 并运行Blob Storage上的大数据。若要安装它,只需在Web Platform Installer上搜索HDInsight,或点击这里直接从 web安装。
总结 本文为您编写Hadoop jobs以及集成HDInsight到您的应用程序介绍了多种方法。HDInsight 使您能够用自己选择的用平台和工具进行开发,从Java到.NET 到JavaScript都可以,并且很容易地使用 Windows Azure部署和管理群集。
我们HDInsight 5篇博客系列的最后一篇将探讨如何用Excel分析 HDInsight中的数据。敬请关注 !
文章翻译自:http://blogs.msdn.com/b/windowsazure/archive/2013/03/22/developing-for-hdinsight.aspx
相关文章推荐
- 使用 HDInsight进行开发
- 使用 HDInsight进行开发
- 使用 HDInsight进行开发
- 使用 HDInsight进行开发
- Android 使用动态加载框架DL进行插件化开发
- [翻译]使用QThead进行线程开发&&线程同步
- 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享
- 【原】[webkit移动开发笔记]之使用chrome进行手机开发
- 16.Oracle数据库SQL开发之 使用ORDERBY进行排序
- 使用MyEclipse开发Web项目并进行发布,运行,测试和调试
- 使用C#和Excel进行报表开发(3)
- 使用sublime进行PHP开发经验分享
- ajaxrequest.js ajaxrequest 0.7最新版 使用AJAXRequest进行AJAX应用程序开发入门小技巧
- 使用Java进行微信开发 4 创建自定义菜单
- Qt简介以及如何配置Qt使用VS2010进行开发
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-使用UDA操纵SQL语句
- 一起谈.NET技术,使用DeeepZoom Composer进行富图像应用的开发(翻译--1)
- 第二篇:使用Visual Studio 2008进行数据层开发
- 使用Java进行UG二次开发:简单的例子(上)
- springboot中通用mapper结合mybatis generator的使用 通用mapper是为了方便开发人员对单表进行crud操作而产生的一套通用方法。 通用mapper只支持单表操作,可以