我有一个处理图像的matlab代码.我想创建一个使用该代码的Hadoop映射器.我遇到了以下解决方案,但不确定哪一个是最好的(因为很难在hadoop中为每个从节点安装matlab编译器运行时):
手动将该matlab代码转换为C++中的OpenCV,并从映射器调用其exe/dll(并提供适当的参数).不确定,因为群集在每个节点而不是Windows上安装了Linux.
使用Hadoop Streaming.但是Hadoop流需要一个可执行文件作为映射器,而matlab的可执行文件也需要Matlab Compiler Runtime,这在每个从节点上都很难安装.
将其自动转换为C/C++代码并自动创建其exe(不确定这是否正确,因为exe将要求运行matlab运行时,或者转换中可能存在很难修复的编译器问题)
使用Matlab Java Builder.但是这样创建的jar文件也需要运行时.
有什么建议?
提前致谢.
我在新的Hadoop版本中遇到了MultithreadedMapper类,文档说它可以用来代替传统的(单线程)映射器类.但是我没有遇到任何使用这个新类的演示示例.另外,我会更高兴使用setNumberOfThreads()方法.使用此代码的任何代码示例?
提前致谢