如标题,公司想开发这样一个小程序,但是现在不知道从何下手,spark又没有提供接口可以在我的web应用程序里面直接调用,那意味着是不是我每次查询的时候,要把sql语句和对应的scala代码一起通过ssh提交到集群的主机上运行spark-shell命令,但是有几个地方想不明白1.这样执行的结果我怎么拿回来显示在web界面上?还是有其他的办法实现?
2.我们有个功能点是机器学习所以会用到MLLib,每个流程点都需要提交查询一次,把结果拿一部分回来给用户看,并把结果作为下个流程节点的输入,那我的web程序怎么和集群沟通

解决方案 »

  1.   

    参考一下apache的开源项目: apache lens
      

  2.   

    把web端的请求写入kafka,Spark 读取kafka数据处理将后写入缓存数据库。
      

  3.   

    http://blog.csdn.net/linchunhua/article/details/52228730
      

  4.   

    话说不需要吧,spark不是提供java的api吗,直接在web后台引入spark的包然后调用api就能提交东西吧 如果东西多本地放不下,在hdfs上的话,也可以调用得到的,没必要非得打成包。我说的不是本地模式,是吧本地也看成是一个节点,虽然没干过,不过本地压力应该不小。
      

  5.   

    楼主是怎么解决的?公司也遇到同样的问题,网上都说可以打开Spark的thrift-server端口,但是CDH版的SPark根本就没有启动thrift-server的文件
      

  6.   

    楼主 我这边搞了一下,可以搞,试试 akka-http