Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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
- 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 站点上的快速入门。
运行工作
想要运行任意一项工作,有如下几个方法:
- 直接从头节点运行它们。若要执行此操作,远程连接到您的群集,打开 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中的数据。敬请关注 !
文章翻译自:https://blogs.msdn.com/b/windowsazure/archive/2013/03/22/developing-for-hdinsight.aspx