小弟最近在做一个机器学习平台,想通过前台选择数据源、算法、参数之类的东西,由后台程序提交到spark集群上调用sparkML库来跑出结果,然后把结果返回之后在前台渲染出效果。实验室之前有搭spark集群,这两天看了一下java提交任务上去spark集群的东西,似乎都是要先把东西打jar包,再传服务器通过spark-submit,这样跟需求就不符了,恳求各位使用java调用过spark的大侠答疑解惑。委实是之前没用过这方面的使用经验。之前有找过一些代码如下。public class TestUtil {
    public static void main(String[] args){        System.setProperty("user.name", "root");
        SparkConf conf = new SparkConf().setAppName("Spark Java API 学习")
                .setMaster("spark://211.87.227.79:7077");
        JavaSparkContext sc = new JavaSparkContext(conf);
        JavaRDD<String> users = sc.textFile("hdfs://211.87.227.79:8020/input/wordcount.txt");
        System.out.println(users.first());
    }}
看了spark的UI这个任务确实也提交上去了,但是idea的控制台一直重复地报这一段。
sparkUI如图
要是有大侠可以解决,可以有偿,留联系方式就行。

解决方案 »

  1.   

    如果是平台的话一般都是写个简单的Web系统通过上传jar包,后台通过rest方式访问spark服务地址提交的
      

  2.   

    两个问题:第一个你是说你的程序远程发送到集群上分布式运行,还是说仅仅调用集群上的资源,而实际运行是本地计算机。
    第一种类:你查一下spark-yarn运行方式,其中有一种是远程提交,这个意思就是将你的程序远程提交到集群分布式运行,第二种的话就简单了,local[*]
      

  3.   

    在本地远程调试Spark的话,可以使用.setJars直接把你生成的jar包提交上去,十分的方便。