命令行中只用scala来运行一个spark应用
由于intellij十分消耗内存,
并且在概念上来讲,scala导入jar包应该和在集成开发环境中导入jar包是等效的。
所以我想,能否纯命令行,不用spark-submit的情况下来运行呢?
折腾了好几个小时,方案如下。
TestRdd.scala代码:
import scala.Iteratorimport org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.sql.{DataFrame, SparkSession}import org.apache.log4j.Logger
import org.apache.log4j.Levelobject TestRdd {def sumOfEveryPartition(input: Iterator[Int]): Int = {var total = 0input.foreach { elem =>total += elem}total}def main(args: Array[String]) {// val conf = new SparkConf().setAppName("Spark Rdd Test")// val spark = new SparkContext(conf)Logger.getLogger("org").setLevel(Level.OFF)Logger.getLogger("akka").setLevel(Level.OFF)Logger.getRootLogger().setLevel(Level.ERROR) val spark = SparkSession.builder.appName("Intro").config("spark.master", "local").getOrCreate();spark.sparkContext.setLogLevel("ERROR")val input = spark.sparkContext.parallelize(List(1, 2, 3, 4, 5, 6), 2)//RDD有6个元素,分成2个partitionval result = input.mapPartitions(partition => Iterator(sumOfEveryPartition(partition)))//partition是传入的参数,是个list,要求返回也是list,即Iterator(sumOfEveryPartition(partition))result.collect().foreach {println(_)//6 15}spark.stop()}
}
运行方法:
scala -classpath $(echo *.jar ~/bigdata/spark-2.3.1-bin-hadoop2.7/jars/*.jar| tr ' ' ':') TestRdd.scala
运行结果:
6
15
注意:上面导入了spark本地部署中的所有jars包
命令行中只用scala来运行一个spark应用相关推荐
- 用命令行工具(CMD)运行一个或多个java文件
用命令行工具(CMD)运行一个或多个java文件 windows10 1.打开命令行 方式1 方式2 在文件资源管理器打开PowerShell 也可以 1.运行单个java文件 没有使用package ...
- 安装scala之后,命令行中输入scala报错nullpointException
问题描述 安装scala之后,命令行中输入scala,报错nullpointException 问题原因 环境配置不完全(已经配置了,但是缺少ClassPath) 问题解决 1.新建系统变量.Clas ...
- 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 命令行中获取要调试的应用进程的 PID | 进程注入调试进程内存的 so 库 )
文章目录 一.Android 命令行中获取要调试的应用进程的 PID 二.进程注入调试进程内存的 so 库 一.Android 命令行中获取要调试的应用进程的 PID 前置博客 [Android 逆向 ...
- php yii应用运维,Windows运维之Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤...
本文主要向大家介绍了Windows运维之Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助. Yii中的资源 ...
- linux运行彩虹猫,在 Linux 命令行中观看彩虹猫来稍事休息
译者: Hansong Zhang 你并且可以在终端里欣赏彩虹猫. 今天是<Linux 命令行小玩具介绍>的第六天.在本系列文章中,我们将要探求一些娱乐用途(甚至有时完全没用)的 Linu ...
- 命令行中编译运行C/C++程序(多个)
此处运行环境是在Windos下,运行cmd命令进入DOS界面,Linux中的运行过程有做说明. 首先,如果想在DOS窗口中进行C/C++代码的编译,则需要先配置gcc的环境变量 1.使用g++进行编译 ...
- 学以致用——命令行中使用Java模块化技术编译、打包、运行iKb知识库应用
需求说明 Eclipse环境下,由于未知原因,运行的iKb知识库应用界面不稳定(有时全屏,有时会缩小很多,导致界面可读性很差),如下图所示: 这个问题随着本人所使用的的JDK版本和Eclipse版本的 ...
- 60行Shell代码实现在命令行中优雅地听歌
本文也发在了我的新个人博客上了,可以点击下面的链接获取更好的阅读体验: 60行Shell代码实现在命令行中优雅地听歌 0. 起因 起因就是对探索新歌失去了兴趣,并且觉得各种音乐播放软件都不怎么好用,而 ...
- mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法
在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...
最新文章
- 练习8-8 移动字母 (10 分)
- Beaglebone Black教程项目1闪烁板载LED
- System Center 2012 R2 CM系列之安装Configuration Manager
- 一张脑图说清 Nginx 的主流程
- centos 7 minimal connect: Network is unreachable和ifconfig command not found
- 华为快应用引擎架构及开发实践
- 怎么让PHP网页显示时有表格的效果,html的table用法(让网页的视觉效果显示出来)...
- VS2017——50G超豪华IDE套餐酸爽体验!
- wire 和 reg_Wire和Launchkit开源,水流监控系统以及更多新闻
- python中文字符串排序问题_Python字符串排序
- weightedrandomSamplers(1)
- 国外大神一张图学会python-12306看了会沉默,国外大神利用机器学习15分钟破解网站验证码!...
- 为什么都不想去二次开发_为什么现在的一些大学生都不想处理各种人际关系了?...
- 001信息化和信息系统
- 手机安全卫士------手机防盗页面之sim卡绑定读取联系人
- 什么是全栈工程师?前端后端是做什么的?
- 爱因互动王守崑:未来机器人的服务质量会显著高于人类
- 2020七月实训GUI学生信息管理系统
- 利用条件运算符的嵌套实现:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示
- Matlab:写入到 Diary 文件
热门文章
- HDU 1059 Dividing
- (原) ora-12705 cannot access nls data files or invalid environment specified
- mac系统更新后code .命令打不开vs code
- linux 字符串加入中括号,Shell 中的中括号用法总结
- npm安装报错Error: EPERM: operation not permitted解决方案
- 使用await实现多接口并行调用
- java获取数据库数据保存到本地txt文件中
- 无法访问‘/dev/ttyUSB: usb 基站,即显示端口被占用
- EKF优化:协方差coff公式、意义、SLAM中的Code优化
- Android权限之动态权限