【问题标题】:Local emulation for Azure + HDInsightAzure + HDInsight 的本地仿真
【发布时间】:2013-08-22 18:32:01
【问题描述】:

任务是在 Azure 云中实现 ETL 项目的 T 部分(转换)。我相信 HDInsight 是使用它的正确服务,但不确定。请批准或反对此选择。

我是这个领域的新手,如果有人能在这里指出正确的方向,我将不胜感激。

我希望能够开发转换服务(作业)并使用 Azure Storage/Compute EmulatorsVisual Studio 2012(最好使用 C#)在本地测试它.我很确定 HDInsight 如何适合这张照片(如果有的话)。转换作业将从 blob 存储中读取文本文件并将数据生成(映射缩减)到 Azure 表存储中。

【问题讨论】:

  • 我可能首先将其分为两个问题...一个关于在本地执行 HDInsight 代码,另一个关于部署自动化。要回答前者,您有两种选择,在本地启动并运行 Hadoop 集群(HDInsight 只是一个托管的 Hadoop 集群),或者在 Windows Azure 中启动并从本地开发环境访问它。两者都有不同的成本(工时与计算费用)和难度。但两者都应该工作。

标签: c# azure etl azure-hdinsight


【解决方案1】:

您当然可以在本地运行 HDInsight 盒子。这与 Azure 存储和计算机仿真是分开的,通过 Web 平台安装程序安装(只需搜索 HDInsight)。

本地版本和 Azure 版本之间存在一些细微差别,因为本地版本使用存储在 HDFS 中的数据,而在云中您可以使用 Azure Blob 容器。至于开发和测试您转换流程(在 MapReduce / Hive / Pig 中),这并没有真正的区别。唯一的区别是您将数据输入和输出的方式。

请注意,您当然可以在 HDInsight 上使用 C# 创建 MapReduce 作业,对于基本数据转换,使用高级语言(如 Pig)或可能在 HDInsight 上使用基于 SQL 的 HiveQL 会容易得多。

【讨论】:

  • 我也想通了,hdinsight 是一个用于 azure 的 hadoop 集群,它是绝对独立的,不与 Azure SDK 一起配置。
【解决方案2】:

您需要对您期望的 T 转换和自动化水平划清界限。

我建议您使用直接的控制台应用程序,该应用程序从 blob 中提取数据并执行转换

建议使用控制台应用方法的原因

  1. 简单、直接、技能相同
  2. 适用于 blob 和 table 的优秀 SDK,可以随心所欲
  3. Map-Reduce(HDInsight) 在您的 Azure Storage 和 c# 家族中是一个全新的物种。我听说 HDInsight 不错,但不确定它是否适合您。
  4. 如果您有一个控制台应用程序,您可以轻松地安排它的任务,让它基于 Pub-Sub 模型运行
  5. 如果您使用自己的 c# - 控制台应用程序或 .exe,您可以轻松调整它在 Azure Worker Role 中运行。
  6. 采用自己的应用方法将消除安装和设置 HDInsight 的开销
  7. 成本明智的工人角色比 HDInsight 便宜

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多