Spark学习笔记3(IDEA编写scala代码并打包上传集群运行)
Spark学习笔记3
IDEA编写scala代码并打包上传集群运行
我们在IDEA上的maven项目已经搭建完成了,现在可以写一个简单的spark代码并且打成jar包
上传至集群,来检验一下我们的spark搭建后是否真正可以使用了
1.今天就和大家写一个计算π的spark代码
下面我把已经写好了的代码放在下面,大家可以借以参考一下
package day02 import org.apache.spark.{SparkConf, SparkContext}
import scala.math.random
object SparkPi02 { def main(args: Array[String]): Unit = { val spark = new SparkContext( new SparkConf().setAppName("SparkPi02")) val slices = if (args.length > 0) args(0).toInt else 2 val n = math.min(100000L * slices,Int.MaxValue).toInt val count = spark.parallelize(1 until n,slices).map { i => val x = random * 2 - 1
val y = random * 2 - 1 if (x * x + y * y < 1) 1 else 0 }.reduce(_+_) println("Pi is roughly" + 4.0 * count / n) spark.stop() } }
写好我们的代码之后还要做一件非常重要的事情,就是把这个代码打包上传到我们的集群里
2.这里来给大家演示一下如何把代码打成jar包和上传到集群的操作
有两种方法可以打包
第一种:
把IDEA右侧的一个叫maven project的目录打开
打开之后点击你的项目名称,然后点击lifecycle,点住clean和package,双击
之后自动开始打包
打包完成以后去项目的target下面查看一下包是否成功导出
上面可以看到已经成功的打包出来了,然后把打好的jar包上传至集群某个文件夹下
然后到spark的bin目录下执行命令:
./spark-submit \
--class 包名加类名 \
--master spark://节点名://7077 \
--jar包在你的集群的绝对路径 \
参数值
回车,就开始执行jar包了,下面是结果的展示
到这里为止,我们已经成功的运行了!
转载本文请和本文作者联系,本文来自博客园一袭白衣一
Spark学习笔记3(IDEA编写scala代码并打包上传集群运行)的更多相关文章
- Python3+Selenium3+webdriver学习笔记9(发送富文本信息及上传文件处理)
#!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记9(发送富文本信息及上传文件处理)'''from seleni ...
- Spring学习笔记2——表单数据验证、文件上传
在上一章节Spring学习笔记1——IOC: 尽量使用注解以及java代码中,已经搭建了项目的整体框架,介绍了IOC以及mybatis.第二节主要介绍SpringMVC中的表单数据验证以及文件上传. ...
- AntDesign vue学习笔记(七)Form 读写与图片上传
AntDesign Form使用布局相比传统Jquery有点繁琐 (一)先读写一个简单的input为例 <a-form :form="form" layout="v ...
- Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)
目录 前言 formidable简介 创建项目并安装formidable 实现上传功能 运行结果 部分疑惑解析 写在之后 前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能---- ...
- K8S学习笔记之二进制部署Kubernetes v1.13.4 高可用集群
0x00 概述 本次采用二进制文件方式部署,本文过程写成了更详细更多可选方案的ansible部署方案 https://github.com/zhangguanzhang/Kubernetes-ansi ...
- Nodejs学习笔记(八)—Node.js + Express 实现上传文件功能(felixge/node-formidable)
前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子 上传功能命名用formidable实现,示例很简单! PS:最近比较忙,距上一次 ...
- Redis学习笔记(5)—— Redis的持久化方案&Redis的集群搭建
一.Redis的持久化方案 Redis的高性能是由于其将所有数据都存储在了内存中,为了使Redis在重启之后仍能保证数据不丢失,需要将数据从内存中同步到硬盘中,这一过程就是持久化. Redis支持两种 ...
- SpringBoot学习笔记(13)----使用Spring Session+redis实现一个简单的集群
session集群的解决方案: 1.扩展指定server 利用Servlet容器提供的插件功能,自定义HttpSession的创建和管理策略,并通过配置的方式替换掉默认的策略.缺点:耦合Tomcat/ ...
- NodeJS学习笔记 进阶 (4)基于express+muter的文件上传(ok)
个人总结:这篇文章主要讲了multer插件的使用,类似于formidable,可以用来处理post表单中的文件上传,读完这篇文章需要10分钟. 摘选自网络 概览 图片上传是web开发中经常用到的功能, ...
随机推荐
- LindDotNetCore~基于模块化注入的介绍
LindDotNetCore相关介绍 相关模块 全局都是依赖DI 消息队列 NoSql Caching 仓储 服务总线 Solr 调度 日志 Asspect拦截组件 UAA授权 各种组件环境的搭建 各 ...
- 最优化算法:BFGS算法全称和L-BFGS算法全称
在最优化算法研究中按时间先后顺序出现了许多算法包括如下几种,这里介绍下他们的全称和英文名称: 1.最速下降法(Gradient descent) 2.牛顿法(Newton method) 3. 共轭梯 ...
- Head First设计模式之迭代器模式
一.定义 提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示: 主要解决:不同的方式来遍历整个整合对象. 何时使用:遍历一个聚合对象. 如何解决:把在元素之间游走的责任交给迭代 ...
- golang 多维数组
具体的题目如下:(就是将多维数组的行列互换) A multi-dimensional array is an array of arrays. 2-dimensional arrays are the ...
- Nginx集群之WCF分布式局域网应用
目录 1 大概思路... 1 2 Nginx集群WCF分布式局域网结构图... 1 3 关于WCF的BasicHttpBinding. 1 4 编写WC ...
- javascript进制转换
其他进制转十进制 原理 parseInt 或者 Number.parseInt 语法 parseInt(string, radix); string 必需.要被解析的字符串. radix 可选.表示要 ...
- 【Python3之模块及包的导入】
一.模块导入 1.定义 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...
- Box布局
import sys from PyQt4 import QtCore, QtGui class MainWindow(QtGui.QWidget): def __init__(self, paren ...
- Flask分页
一.flask实现的分页组件 from urllib.parse import urlencode,quote,unquote class Pagination(object): "&quo ...
- commons -lang(2) RandomStringUtils RandomUtils
上一篇是StringUtils 链接http://www.cnblogs.com/tele-share/p/8060129.html 1.RandomStringUtils 1.1模拟实现random ...