怎么用java提交一个Spark应用程序

本篇内容介绍了“怎么用java提交一个Spark应用程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

交城网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

第一种方式

首先用vim打开一个文件,MyLauncher.java

编写代码如下:

import org.apache.spark.launcher.SparkAppHandle;

import org.apache.spark.launcher.SparkLauncher;

import java.util.HashMap;

public class MyLauncher {

 public static void main(String[] args) throws Exception {

HashMap map = newHashMap();

       map.put("HADOOP_CONF_DIR","/home/hadoop/conf");

       map.put("YARN_CONF_DIR","/home/hadoop/conf");

       map.put("SPARK_CONF_DIR","/home/hadoop/spark/conf");

     new SparkLauncher(map)

        .setAppResource("/data/newStreaming/uesc-analyzer.jar")

        .setMainClass("ucloud.UESBash.testSchema")

        .setMaster("yarn-cluster")

        .setConf(SparkLauncher.DRIVER_MEMORY, "2g")

       .setVerbose(true).startApplication();

       Thread.sleep(100000);

      // Use handle API to monitor / control application.

}

}

接着,进行编译

javac -cp /home/hadoop/spark/lib/spark-assembly-1.6.0-hadoop2.6.0-cdh6.4.9.jarMyLauncher.java

然后提交执行

java -cp/home/hadoop/spark/lib/spark-assembly-1.6.0-hadoop2.6.0-cdh6.4.9.jar:.MyLauncher

这样就可以在yarn的界面上看到运行情况了。

注释:可能你比较奇怪我为啥在那加了个停顿,因为正常情况下我们要进行一些其它操作监控Spark应用而不是直接退出,直接退出可能会导致提交还没完成退出,以至于应用程序不能被提交了。

当然,还有另外一种方式,但是不建议使用,上面采用的这种方式呢可以更好地监控我们Spark程序的状态。

第二种方式

import org.apache.spark.launcher.SparkAppHandle;

import org.apache.spark.launcher.SparkLauncher;

import java.util.HashMap;

public class MyLauncher {

 public static void main(String[] args) throws Exception {

HashMap map = newHashMap();

       map.put("HADOOP_CONF_DIR","/home/hadoop/conf");

       map.put("YARN_CONF_DIR","/home/hadoop/conf");

       map.put("SPARK_CONF_DIR","/home/hadoop/spark/conf");

    Process spark  = new SparkLauncher(map)

        .setAppResource("/data/newStreaming/uesc-analyzer.jar")

        .setMainClass("ucloud.UESBash.testSchema")

        .setMaster("yarn-cluster")

        .setConf(SparkLauncher.DRIVER_MEMORY, "2g")

       .setVerbose(true).launch();

      // Use handle API to monitor / control application.

       spark.waitFor();    

}

}

第二种方式是启动了一个子进程来加载提交应用程序。

“怎么用java提交一个Spark应用程序”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


文章名称:怎么用java提交一个Spark应用程序
文章链接:http://azwzsj.com/article/jccgoo.html