在spark集群下运行c ++应用程序

时间:2017-07-20 02:13:58

标签: c++ apache-spark machine-learning bigdata

我正在研究我的学校项目。有一个用c ++编写的视频复制检测应用程序。该应用程序设计为在单个机器上运行,我想创建一个spark集群并在集群下运行该应用程序。 这可能吗?困难?

1 个答案:

答案 0 :(得分:0)

让我试着回答你的问题:

首先,你应该弄清楚c ++应用程序的格式是什么?

是源代码还是二进制可执行文件夹?

  • source code

您可以在java / scala中实现该算法,并充分利用群集资源,使您的工作速度远远超过单机版本。

如果时间有限,可以使用gcc编译c ++源代码,然后按照下一种方法进行操作。

  • binary executable bin

因为java / scala字节码(.class格式)在jvm上运行,与机器上的本机代码不兼容,这是由编译器和操作系统的组合决定的。

在这种情况下,唯一的选择是获得一个新的进程来执行c ++可执行文件箱,并通过进程间通信获得你想要的东西,比如管道。

总之,您应该在驱动程序节点上获得一个新进程来重复数据删除,并使用spark引擎执行以下并行计算以加速您的项目。

并且在scala或java中获取新进程非常简单,请参考doc: Process