c# - 使用 C# 进行 Hadoop 流式处理

标签 c# hadoop hadoop-streaming azure-hdinsight

我正在玩 HDInsight,但我不明白的是 Microsoft claim所有数据节点都在 CentOS 和 Java 上运行,您仍然可以 write Mapper/Reducer with .NET code ,这是因为 Hadoop Steaming。但这些文章中并不清楚 .NET 代码如何在 Linux 上运行(我认为这里不涉及 Mono)。有人能阐明 .NET 代码最终是如何在每个数据节点上运行的吗?

最佳答案

数据节点实际上并没有运行 CentOS。 HDInsight 中的所有节点都基于适用于 Windows 的 Hortonworks 数据平台 (HDP)。这意味着当您使用 HDInsight 时,您的任何流式传输程序实际上都在 Windows 上运行。

您提到的文章正在谈论(相当令人困惑!)关于在一系列 Azure VM 上将您自己的 Hadoop 设置为 IaaS 的替代模式。 HDInsight 消除了管理开销的需要(这是您为 VM 费用支付的费用)并提供 PaaS。

当然,没有什么可以阻止您在基于 Linux 的 Hadoop 上以单声道方式运行流式 MapReduce 和 C#,但您的情况可能会有所不同。

关于c# - 使用 C# 进行 Hadoop 流式处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20736196/

相关文章:

hadoop - 使用apache pig从url中提取主机名

java - Spark作业失败,因为它找不到hadoop core-site.xml

hadoop streaming 确保每个 reducer 一个 key

algorithm - Python Hadoop 流式处理,二次排序问题

Hadoop:在写入后修改输出文件

c# - 执行所有任务,即使抛出异常

c# - C# WPF 窗口中带有一行和一个标签的水平分隔符

c# - 我如何单元测试 URL 在 c# 中是否有效?

c# - 多次创建 ASP.NET Core 单例服务

hadoop - 我应该使用哪个版本的 Hadoop?