c# - 在 linux/osx 机器上使用 c# 进行 hadoop 流式传输

标签 c# linux macos hadoop

我想我会尝试使用 c# 二进制文件作为 -mapper 和 -reducer 流出 hadoop。不幸的是,streaming jar 似乎不能使用 c# .exes。有什么方法可以让 hadoop 和 c# 代码一起玩?

最佳答案

基本上问题是 .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# - 在 linux/osx 机器上使用 c# 进行 hadoop 流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38020688/

相关文章:

c# - 在 C# 运行空间中的远程服务器上导入 Powershell 模块

linux - ioctls 如何知道在 linux 中调用哪个函数?

cocoa - NSOpenPanel 限制选择 iPhoto 库

objective-c - NSScrollView添加内容后不显示垂直滚动条

c# - 如何在 C# 中以优雅的方式测试对象是否为 null?

c# - 使用 HtmlAgilityPack 检测图像 src 中的数据 URI

c# - ASP.NET MVC : Custom Validation by DataAnnotation

linux - 如何将 libc.a 链接到共享库

linux - 我们可以使用多个线程对同一个文件描述符进行并行轮询和 ioctl

objective-c - 将文件拖到 cocoa OSX 中的其他应用程序中