使用sbt编译打包,spark-submit命令提交的详细步骤
Spark2.1.0入门:Spark的安装和使用
使用sbt打包Scala程序
该程序依赖 Spark API,因此我们需要通过 sbt 进行编译打包。 请在./sparkapp 中新建文件 simple.sbt(vim ./sparkapp/simple.sbt
),添加内容如下,声明该独立应用程序的信息以及与 Spark 的依赖关系:
name := "Simple Project"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0"
文件 simple.sbt 需要指明 Spark 和 Scala 的版本。在上面的配置信息中,scalaVersion用来指定scala的版本,sparkcore用来指定spark的版本,这两个版本信息都可以在之前的启动 Spark shell 的过程中,从屏幕的显示信息中找到。下面就是笔者在启动过程当中,看到的相关版本信息(备注:屏幕显示信息会很长,需要往回滚动屏幕仔细寻找信息)。
为保证 sbt 能正常运行,先执行如下命令检查整个应用程序的文件结构
cd ~/sparkapp
find .
文件结构应如下图所示:
SimpleApp的文件结构
接着,我们就可以通过如下代码将整个应用程序打包成 JAR(首次运行同样需要下载依赖包 ):
/usr/local/sbt/sbt package
对于刚安装好的Spark和sbt而言,第一次运行上面的打包命令时,会需要几分钟的运行时间,因为系统会自动从网络上下载各种文件。后面再次运行上面命令,就会很快,因为不再需要下载相关文件。
打包成功的话,会输出如下内容:
生成的 jar 包的位置为 ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar。
通过 spark-submit 运行程序
最后,我们就可以将生成的 jar 包通过 spark-submit 提交到 Spark 中运行了,命令如下:
/usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar
#上面命令执行后会输出太多信息,可以不使用上面命令,而使用下面命令查看想要的结果
/usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp/target/scala-2.11/simple-project_2.11-1.0.jar 2>&1 | grep "Lines with a:"
最终得到的结果如下:
Lines with a: 62, Lines with b: 30
自此,你就完成了你的第一个 Spark 应用程序了。
实践--使用sbt打包Scala程序
实践--通过 spark-submit 运行程序
相关文章:

Tomcat异常退出
tomcat正常运行期间,会出现这样的报错,于是在网上搜了一下,发现有前辈,已找到解决办法,碎不甚明白其中缘由,但先记下,日后深研究: 我的机器的报错内容: SEVERE: Error pr…

[转载]前端工程师应该关注什么
克军发的一张图,汗死我了。http://farm4.static.flickr.com/3025/3114605967_248a0da171_o.png 转载于:https://www.cnblogs.com/cly84920/archive/2008/12/17/4427051.html

组策略分发软件全攻略
组策略分发软件全攻略 在规模比较大的网络环境里面,为了对服务器和客户机上的软件、系统补丁进行集中统一的管理,我们可能会用到SUS、WSUS、SMS等。SUS、WSUS管理系统更新,不在本文讨论,请参考其它相关技术文档。虽然SMS功能较强大…

Saiku二次开发获取源代码在本地编译(五)
关于Saiku的二次开发,在本地编译然后启动自己编译好的Saiku服务 Saiku是开源的,从github上能下载源代码,本例中的saiku源码也是从github上找的,然后自己改了一些pom.xml,以及其它调整。 当前提供的saiku版本为 3.9 一、…

As3.0 一些好书连接
优秀RIA书籍教程推荐与交流平台 http://www.riabook.cn/ 这里有很多不错的书。希望你们有帮助 转载于:https://www.cnblogs.com/guoyiqi/archive/2008/12/19/2069462.html

spark编程基础--5.1RDD编程基础
RDD创建 1.从文件系统中加载数据创建RDD 2.从分布式文件系统HDFS中加载数据 3.通过并行集合(数组)创建RDD RDD操作 1.转换操作 filter(func) map(func) flatmap(func) groupByKey() reduceByKey(func) 2.行动操作 3.惰性机制 所谓的“惰性机制”是指&…

JMeter的安装和使用
开始学习JMeter,网上资源虽多,不如自己总结的更有意义。 1. JMeter 的安装: 首先要安装java,这个直接去官网下载安装然后添加环境变量即可https://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/ ,下载JMeter…

C# 3.0 —— 扩展方法
扩展方法是C# 3.0新加入的特性,允许我们在不改变源代码的情况下扩展(即填加)现有类型中的实例方法,也给我们提供了另外一种扩展类型行为的方法(其它的方法为继承、组合、反射)。 下面我们来看一个代码示例: classProgr…

Melkman's Algorithm
http://cgm.cs.mcgill.ca/~athens/cs601/Melkman.html https://maxgoldste.in/melkman/ 转载于:https://www.cnblogs.com/noryes/p/10406873.html

HDU1051Wooden Sticks
Wooden Sticks http://acm.hdu.edu.cn/showproblem.php?pid1051 #include<stdio.h> struct stick{ int w ; int l; int flag;}wood[5000],temp,r[]; int n ; //排序// int partition(struct stick r[],int first,int end){ int ifirst,jend; while(i<j){ while(i<…

spark编程基础--5.2键值对RDD
键值对RDD的创建 常用的键值对转换操作 reduceByKey(func) groupByKey() keys values sortByKey() mapValues(func) join combineByKey reduceByKey(func) reduceByKey(func)的功能是,使用func函数合并具有相同键的值 groupByKey() 上面得到的wordCountsWithReduce…

禁止选中文本事件
由于经常会些写错,为了以后节约时间,记录下: obj.on(click,.arrow,function(ev){console.log(click);ev.stopPropagation();ev.preventDefault();var rel $(this).attr(rel);if( rel && rel < totalPage && rel>0 ){g…
一套外企的数据库设计面试题
最近发现园子里面关于数据库方面的文章比较多,正好我也是一个喜欢凑热闹的家伙,那就跟着烧一把火吧。^_^ 这是前阵子一个朋友面试外企的一套关于数据库设计的试题,有兴趣的朋友不妨一试。 Part I 工厂在定义一个新产品的流程如下&#x…

持续集成(一)为什么我们迫切需要持续集成
摘录自:http://blog.csdn.net/kkkloveyou/article/details/53875987 为什么我们迫切需要持续集成(Continuous Integration) 持续集成(Continuous Integration),也就是我们经常说的 CI,是现代软…

spark编程基础--5.3数据读写
文件数据读写 1.本地文件系统的数据读写 1)从文件中读取数据创建RDD 2)把RDD写入到文本文件中 2.分布式文件系统HDFS的数据读写 3. JSON文件的读取 JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于ECMAScript规范的…

试用最新版本的live writer发一篇日志看看
之前装Vs2008想弄WPF的时候,根据网上的说明,找VS2008的SP1,windows SDK的时候颇费周折,虽然说微软上面可以直接下,但是我找了半天才找到,总是觉得麻烦。现在就把一些WPF的相关前期准备软件的地址发出来&…

守护网络安全,我们一直在努力
据外电消息,日前,一种通过发布有关北京奥运会虚假信息的邮件来传播新型网络病毒,正在席卷全球。报道中写道,一封号称内容有关“北京奥运会可能因四川大地震取消和延迟”的电子邮件成为了“新型蠕虫恶意***程序”的源头,…

DELPHI 中 Window 消息大全使用详解
Window 消息大全使用详解导读: Delphi是Borland公司的一种面向对象的可视化软件开发工具。 Delphi集中了Visual C和Visual Basic两者的优点:容易上手、功能强大,特别是在界面设计、数据库编程、网络编程方面更有其独特的优势。 Delphi中的消息…

vue 在浏览器控制台怎么调试 谷歌插件vue Devtools
vue 在浏览器控制台怎么调试 谷歌插件vue Devtools 问题: vuejs里面的变量,怎么用浏览器的console查看? 例如,想在chrome里用console.log查看变量$data,会显示undefined。 解决方案: 再main.js里面声明window.Vue new…

spark编程基础--5.4综合实例
操作指令如下: cd /usr/local/hadoop./sbin/start-dfs.sh./bin/hdfs dfs -mkdir -p spark/mycode/rdd/TopN./bin/hdfs dfs -put /usr/local/spark/mycode/TopN_file1.txt spark/mycode/rdd/TopN ./bin/hdfs dfs -put /usr/local/spark/mycode/TopN_file2.txt spark…

关于C#中的DLLImport (引)
MSDN中对DllImportAttribute的解释是这样的:可将该属性应用于方法。DllImportAttribute 属性提供对从非托管 DLL 导出的函数进行调用所必需的信息。作为最低要求,必须提供包含入口点的 DLL 的名称。 并给了一个示例: [DllImport("KERNEL…

Bootstrap框架和inconfont、font-awesome使用
Bootstrap框架和inconfont、font-awesome使用 iconfont的使用:https://www.cnblogs.com/clschao/articles/10387580.html Bootstrap介绍 Bootstrap是Twitter开源的基于HTML、CSS、JavaScript的前端框架。 它是为实现快速开发Web应用程序而设计的一套前端工具包。 它…

spark编程基础--6.DataFrame
使用spark安装时自带的样例数据people.json文件,生成DataFrame: 下面从示例文件people.json中创建一个DataFrame,然后保存成csv格式文件,代码如下: scala> val peopleDF spark.read.format("json").loa…

firebug 的使用
[Firebug - Console控制台视图] console API文档, http://www.getfirebug.com/console.html console.info显示(i)图标 在输出时,需要注意第一个参数被自动识别为格式字符串 需要在页面加载前启动firebug,当页面加载后启动firebug时,就没有…

cisco PIX防火墙的配置及注解完全手册
PIX Version 6.3(1)interface ethernet0 auto 设定端口0 速率为自动interface ethernet1 100full 设定端口1 速率为100兆全双工interface ethernet2 auto 设定端口2 速率为自动nameif ethernet0 outside security0 设 定端口0 名称为 outside 安全级别为0nameif ethernet1 insi…

C/C++:*(p++)慎用!!!!!
各位代码界的大佬大家好,今天跟大家分享一个在C/C中常用,但是很危险的一串代码——*(p) 为什么说这一行代码比较危险呢,因为对于C/C来说,成也指针,败也指针。C/C中指针便于我们操作一块连续的内存空间中内容࿰…

Kindeditor学习中的那些坑
Kindeditor富文本编辑器还算比较好上手的一款插件吧,下面记录一下我在学习和实践中遇到的那些坑。 编辑器初始化方法和参数网上一搜一大把,不想搜的点这里,文档上各个参数已经写得很清楚了,直接拿过来用就OK 开始说一些实际用到时…

java2实用教程--第二章基本数据类型与数组
基本数据类型--浮点类型 public class Example2_1 {public static void main (String args[]) {char chinaWord 好,japenWord あ;char you \u4F60;int position 20320;System.out.println("汉字:"chinaWord"的位置:"(int)china…

EntityCURD操作的参数和返回值
以下是netbeans根据实体自动生成的CURD模板:/** To change this template, choose Tools | Templates* and open the template in the editor.*/package com.medea.order.session;import com.medea.order.entity.Storeorder;import java.util.List; import javax.ej…

[ZT]SQL Server 的事务日志意外增大或充满的处理方法
http://support.microsoft.com/kb/317375 事务日志文件Transaction Log File是用来记录数据库更新情况的文件,扩展名为ldf。在 SQL Server 7.0 和 SQL Server 2000 中,如果设置了自动增长功能,事务日志文件将会自动扩展。一般情况下ÿ…