在linux/osx机器上使用c#的hadoop流媒体

bweufnob  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(333)

我想我应该试试hadoop,用c#二进制文件作为-mapper和-reducer。不幸的是,流媒体jar似乎不能接受c#exes。有什么方法可以让hadoop更好地使用c代码?

rbl8hiat

rbl8hiat1#

基本上问题是.exe文件在linux上不可执行。。。你可以尝试葡萄酒,但是,我不确定标准的输入和标准的输出流是否可以很好地工作,这就是流所使用的。
当您使用流媒体时(以非常简化的方式),会发生以下情况:

cat inputfile > mapper > reducer > output

这里的mapper和reducer是必须由操作系统运行的程序。
所以装酒,试试看 -mapper "wine your_program.exe" 而不是 -mapper your_program.exe . 问题是,wine应该安装在所有worker节点上,而且您可能需要修复与wine使用相关的问题。。。
我鼓励你先用一个简单的东西来尝试hadoop流媒体。。。例如,shell脚本、python或其他在工作节点上开箱即用的东西。

y53ybaqx

y53ybaqx2#

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

相关问题