Spark入门(四)Idea远程提交项目到spark集群
发布日期:2021-07-01 01:15:34 浏览次数:2 分类:技术文章

本文共 3257 字,大约阅读时间需要 10 分钟。

一、依赖包配置

scala与spark的相关依赖包,spark包后尾下划线的版本数字要跟scala的版本第一二位要一致,即2.11

pom.xml

4.0.0
com.mk
spark-test
1.0
spark-test
http://spark.mk.com
UTF-8
1.8
1.8
2.11.1
2.4.4
2.6.0
org.scala-lang
scala-library
${scala.version}
org.apache.spark
spark-core_2.11
${spark.version}
org.apache.spark
spark-sql_2.11
${spark.version}
junit
junit
4.11
test
maven-clean-plugin
3.1.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.8.0
maven-surefire-plugin
2.22.1
maven-jar-plugin
3.0.2

 

二、PI例子

java重新编写scala的PI例子

package com.mk;import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaSparkContext;import org.apache.spark.sql.SparkSession;import java.util.ArrayList;import java.util.List;public class App {    public static void main( String[] args )    {        SparkConf sparkConf = new SparkConf();        if(System.getProperty("os.name").toLowerCase().contains("win")) {//            sparkConf.setMaster("local[2]");//            System.out.println("使用本地模拟是spark");//        }else//            {            sparkConf.setMaster("spark://hadoop01:7077,hadoop02:7077,hadoop03:7077");            sparkConf.set("spark.driver.host","192.168.150.1");//本地ip,必须与spark集群能够相互访问,如:同一个局域网            sparkConf.setJars(new String[] {".\\out\\artifacts\\spark_test\\spark-test.jar"});//项目构建生成的路径        }        SparkSession session = SparkSession.builder().appName("Pi").config(sparkConf).config(sparkConf).getOrCreate();        int slices =2;        int n = (int)Math.min(100_000L * slices, Integer.MAX_VALUE);        JavaSparkContext sparkContext = new JavaSparkContext(session.sparkContext());        List
list = new ArrayList<>(n); for (int i = 0; i < n; i++) list.add(i + 1); int count = sparkContext.parallelize(list, slices). map(v -> { double x = Math.random() * 2 - 1; double y = Math.random() * 2 - 1; if (x * x + y * y < 1) return 1; return 0; }).reduce((Integer a, Integer b) ->a+b); System.out.println("PI:"+ 4.0 * count / n); session.stop(); }}

 

三、直接在idea本地运行

输出PI

 

 

四、局限性

注意:项目机器的本地ip,必须与spark集群能够相互访问,如:同一个局域网。

不在同一个网络提交失败,任务一直重试无法退出

转载地址:https://maokun.blog.csdn.net/article/details/104119467 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Spark入门(五)Spark SQL shell启动方式(元数据存储在derby)
下一篇:Spark入门(三)Idea构建spark项目

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月18日 23时49分58秒