在linux/osx机器上使用c#进行Hadoop流处理

本文关键字:进行 Hadoop 处理 linux osx 机器 | 更新日期: 2023-09-27 17:51:17

我想我会尝试hadoop流与c#二进制文件作为-mapper和-reducer。不幸的是,流媒体jar似乎不能接受c# .exe。有什么方法可以让hadoop与c#代码配合得很好?

在linux/osx机器上使用c#进行Hadoop流处理

基本上问题是。exe文件不能在linux上执行…你可以用wine做实验,但是我不确定标准输入和标准输出流是否能正常工作,这就是流使用的。

当你使用流(以一种非常简化的方式)时,会发生以下情况:

cat inputfile > mapper > reducer > output

和这里的mapper和reducer都是必须在操作系统中运行的程序。

所以安装wine,并尝试-mapper "wine your_program.exe"而不是-mapper your_program.exe。问题是wine应该安装在所有工作节点上,并且您可能需要修复与wine使用相关的问题…

我鼓励你先用一个更简单的东西来试验hadoop流…例如,shell脚本或python或其他在工作节点上开箱运行的东西。

到目前为止,最好的解决方案(尽管我愿意这样称呼它)是制作一个称为c#可执行文件的shell脚本,并将其传递到hadoop的流jar中。