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交互。
HDInsight 是通过 Hortonworks Data Platform来使用 Apache Hadoop,对于Hadoop 的生态系统有很高的保真度。因此,许多功能都和原来的完全一样。这意味着你在下面列出的任何工具的投资和知识都在 HDInsight 中可用。分布式处理群集由下面的Apache 项目创建:
您可以在这里找到 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技能和投资来使用 Hadoop。这些项目放在CodePlex上,你可以从NuGet上下载这个工具包创建运行在HDInsight上的工作。有关这些介绍请参阅CodePlex 站点上的快速入门。
想要运行任意一项工作,有如下几个方法:
为了提供一个简单的接口供客户端应用程序集成,我们努力确保群集上的所有功能都通过一组安全的REST API's暴露给客户端。
我们目前已经对这些 API 提供了.NET 客户端类库,点击这里下载,你能够自行在其他语言中轻松地使用HTTP 堆栈构建客户端。
利用 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