Spark入门(三)Idea构建spark项目

一、依赖包配置

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

pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.mk</groupId><artifactId>spark-test</artifactId><version>1.0</version><name>spark-test</name><url>http://spark.mk.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><scala.version>2.11.1</scala.version><spark.version>2.4.4</spark.version><hadoop.version>2.6.0</hadoop.version></properties><dependencies><!-- scala依赖--><dependency><groupId>org.scala-lang</groupId><artifactId>scala-library</artifactId><version>${scala.version}</version></dependency><!-- spark依赖--><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.11</artifactId><version>${spark.version}</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.11</artifactId><version>${spark.version}</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies><build><pluginManagement><plugins><plugin><artifactId>maven-clean-plugin</artifactId><version>3.1.0</version></plugin><plugin><artifactId>maven-resources-plugin</artifactId><version>3.0.2</version></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.8.0</version></plugin><plugin><artifactId>maven-surefire-plugin</artifactId><version>2.22.1</version></plugin><plugin><artifactId>maven-jar-plugin</artifactId><version>3.0.2</version></plugin></plugins></pluginManagement></build>
</project>

 

二、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");}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<Integer> 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

 

四、spark集群提交

项目打成jar,把spark-test.jar上传到~目录,执行shell命令

~/software/spark-2.4.4-bin-hadoop2.6/bin/spark-submit --master spark://hadoop01:7077,hadoop02:7077,hadoop03:7077 --class com.mk.App ~/spark-test.jar 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS Tools for AI全攻略

大家都知道微软在Connect();17大会上发布了VS Tools for AI&#xff0c;旨在提升Visual Studio和VSCode对日益增长的深度学习需求的体验。看了一圈&#xff0c;网上似乎没有一个完整的中文教程来教你怎么完整配置深度学习方案。 与此同时我也接了一个活&#xff0c;是俱乐部与M…

欢乐纪中B组周五模拟赛【2019.3.8】

前言 成绩 RankRankRank是有算别人的 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC2222017myself2017myself2017myself2102102101001001001001001001010103332017zyc2017zyc2017zyc2002002001001001001001001000003332017xjq2017xjq2017xjq20020020010010010010010…

每日一问8-17

1、Es6的新语法有哪些? 1、新增块级作用域&#xff0c;let const 2、for of 和for in 3、解构赋值&#xff1a;变量替换对象里的值 4、展开运算符&#xff1a;…用法 5、模板字符串&#xff0c;用${}&#xff0c;可在其中加入变量。反引号 6、箭头函数: 2、有几种方式实现元…

Spark入门(四)Idea远程提交项目到spark集群

一、依赖包配置 scala与spark的相关依赖包&#xff0c;spark包后尾下划线的版本数字要跟scala的版本第一二位要一致&#xff0c;即2.11 pom.xml <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.…

jzoj4742-单峰【数学,数论】

正题 题目大意 求1∼n1\sim n1∼n的全排列中有多少个满足单峰 解题思路 现在考虑一个单峰&#xff0c;我们加入一个更小的数&#xff0c;要么插在最左边&#xff0c;要么插在最右边&#xff0c;所以得出答案结论2n−12^{n-1}2n−1 codecodecode #include<cstdio> #inc…

关于负载均衡的一切:总结与思考

正文 古人云&#xff0c;不患寡而患不均。 在计算机的世界&#xff0c;这就是大家耳熟能详的负载均衡&#xff08;load balancing&#xff09;&#xff0c;所谓负载均衡&#xff0c;就是说如果一组计算机节点&#xff08;或者一组进程&#xff09;提供相同的&#xff08;同质的…

Vue父组件使用子组件时,需要携带参数,函数内如何获取子组件给的值

在参数中 通过$event获取&#xff1a; 子组件 this.$emit(visible-change, val)父组件 <en-category-picker visible-change"changeVisiable($event,scope.$index, scope.row)" />changeVisiable(val, _index, _row) {if (val false) {this.confirmChangeS…

Spark入门(五)Spark SQL shell启动方式(元数据存储在derby)

一、spark-sql shell介绍 Spark sql是以hive SQL提交spark任务到spark集群执行。 由于spark是计算框架没有存储功能&#xff0c;所有spark sql数据表映射关系存储在运行shell的当前目录下metastore_db目录里面&#xff08;spark默认使用derby数据库创建的本地存储&#xff0c…

jzoj4743-积木【状压dp】

正题 题目大意 有长方体积木nnn块&#xff0c;求能搭成的最高高度。 解题思路 考虑状态压缩&#xff0c;设fs,i,jf_{s,i,j}fs,i,j​表示积木使用状态为sss&#xff0c;最下面的是第iii块&#xff0c;状态为jjj&#xff1a; 状态&#xff1a;对于一个长方体a,b,ca,b,ca,b,c a…

Spark入门(六)Spark SQL shell启动方式(元数据存储在mysql)

一、hive配置文件 在spak/conf目录添加hive-site.xml配置&#xff0c;设置mysql作为元数据存储的数据库 <?xml version"1.0" encoding"UTF-8" standalone"no"?> <?xml-stylesheet type"text/xsl" href"configurat…

Asp.NET Core2.0 项目实战入门视频课程_完整版

END OR START? 看到这个标题&#xff0c;你开不开心&#xff0c;激不激动呢&#xff1f; 没错&#xff0c;.net core的入门课程已经完毕了。52ABP.School项目从11月19日&#xff0c;第一章视频的试录制&#xff0c;到今天完整版出炉&#xff0c;离不开各位的帮助和加油。 课程…

Js中等于号使用

判断必须用 多等于 赋值用 切记 意思是值相等 是值和类型都相等

jzoj4745-看电影【期望概率,数学】

正题 题目大意 一个环&#xff0c;nnn个人。 每次随机选一个位置&#xff0c;把顺时针第一个踢掉。直到只剩下kkk个人&#xff0c;求第ididid个人留下的期望概率。 解题思路 首先我们考虑一个环&#xff0c;若第xxx的概率比第yyy号的概率打&#xff0c;那么将环旋转到使得yyy…

VS Tools for AI全攻略(2)低配置虚拟机也能玩转深度学习,无需NC/NV系列

接着上文VS Tools for AI全攻略&#xff0c;我们来讨论如何使用Azure资源来训练我们的tensorflow项目。Azure云我个人用得很多&#xff0c;主要是因为微软爸爸批了150刀每月的额度&#xff0c;我可以愉快地玩耍。 那么针对Azure&#xff0c;有成套的两个方案解决问题。 方案一&…

Spark入门(七)Spark SQL thriftserver/beeline启动方式

一、启动thrift服务 启动thriftServer&#xff0c;默认端口为10000,。 --jars 添加worker类库 --driver-class-path 驱动类库 --master spark集群地址 --total-executor-cores 启动的核数&#xff0c;默认是所有核数 --executor-memory 每个work分配的内存&#xff0c;…

array关于map,reduce,filter的用法

1、.map直接还原一个数组中多个对象里面的单个属性 不需要任何push操作 let arr [{a:10,b:50},{a:20,b:60},{a:30,b:80}]; let result arr.map((cb)>{return cb.a}); console.log(result); // [10, 20, 30]2、.reduce用于数组中的元素需要做递归操作&#xff0c;比如累加…

欢乐纪中B组周六赛【2019.3.9】

前言 AKAKAK了(虽然有一堆AKAKAK的) 成绩 RankRankRank是有算别人的 今天LRZLRZLRZ不在 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC1112017myself2017myself2017myself3003003001001001001001001001001001002929292017zyc2017zyc2017zyc210210210100100100101010…

【青岛】12月16日.NETCore与AI技术交流会-等你来哦!!

主题是拥抱开源 拥抱开源&#xff1a;开放是互联终端不断增长的主旨和核心——使技术世界变得越来越复杂&#xff0c;联系越来越紧密。在微软&#xff0c;我们专注于向客户提供任何信息支持&#xff0c;即使在任何设备或者在多个平台上。 未来是开放的&#xff0c;未来的云是开…

MyBatis Generator分页插件RowBoundsPlugin坑

一、Mybatis Generator设置分页 Mybatis Generator没有设置分页&#xff0c;但自带了个RowBoundsPlugin分页插件&#xff0c;故而配置 <plugin type"org.mybatis.generator.plugins.RowBoundsPlugin"/> 在mysql数据库进行查询的表分页10条&#xff0c;查很久…

对于自绝对父相的理解

1、如果对子元素施加绝对定位&#xff0c;然后设置一个bottom为20 则&#xff1a; html <div class"k1"><div class"k2">1111</div></div>.k1 {margin: 0 auto;height: 500px;width: 500px;background: green;}.k2 {height: 100…