关于spark利用jar包跑job的一些总结(二)

原创 2016年08月31日 11:52:02

利用scalac以及jar命令得到spark上可运行的jar包

需要提前准备的:
1. JDK环境。
2. Scala环境,在此不多赘述,自行查找配置。(个人建议用2.10.*版本。之前用2.11版本,发现与spark-assembly那个jar包中的Scala环境不匹配,出现奇葩的错误)。
3. spark api即spark-assembly*.jar包(找不到的可以在服务器上或者你的环境里输入 find -name spark-*.jar)。

进入正文:
(在windows与linux环境下命令一致,就不分开讨论)

  1. 首先编写你要在spark上运行的工程代码,存为scala文件(这里还以上一篇的WordCount工程代码为例)。
  2. 利用scalac,对scala文件进行编译生成.class文件(此时要把spark-assembly包加入依赖):
    scalac -classpath [spark-assembly*.jar全路径] [YOUR.scala]
    上例中,我把spark-assembly*.jar和WordCount.scala放在同一目录下,所以直接用命令:
    scalac -classpath spark-assembly-1.6.0-hadoop2.7.1-U4.jar WordCount.scala
    这个时候会得到不同个数的.class文件
  3. 利用jar命令,将得到的class文件封装成为jar包
    jar cf [你要得到的jar文件] [.class文件的路径]
    上例中,class文件在同一目录下,所以命令为:
    jar cf WordCount.jar *.class

最终得到的WordCount.jar即为所要jar包,可以在spark上运行。

(上述过程中,所有文件均可以自己设定路径,命令仅为参考,更多功能请自行搜索scalac与jar命令)


在开发过程中遇到一个奇葩的问题:
Exception in thread “main” java.lang.NoSuchMethodError: scala.runtime.ObjectRef.create(Ljava/lang/Object;)Lscala/runtime/ObjectRef;
这里写图片描述
最后经过查找问题,得知是scala版本与spark-assembly的jar包中scala版本不搭导致的。
更换scala版本即可。
具体情况可以参考http://blog.sina.com.cn/s/blog_4a97c77f0102whg3.html

关于spark利用jar包跑job的一些总结(一)

关于spark利用jar包跑job的一些总结(一)一、分别利用eclipse和IDEA打jar包用eclipse打包:用eclipse打包最终还是不能放在spark上用,如果是需要解决问题的,可以直接...
  • chengxue5yuan
  • chengxue5yuan
  • 2016年08月31日 11:13
  • 326

spark从入门到放弃 之 分布式运行jar包

scala代码如下: import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache....
  • u011478909
  • u011478909
  • 2016年08月22日 16:04
  • 3902

使用Java编写并运行Spark应用程序

我们首先提出这样一个简单的需求: 现在要分析某网站的访问日志信息,统计来自不同IP的用户访问的次数,从而通过Geo信息来获得来访用户所在国家地区分布状况。这里我拿我网站的日志记录行示例,如下所示: ...
  • lifaming15
  • lifaming15
  • 2015年03月02日 17:47
  • 38844

Spark集群中使用spark-submit提交jar任务包实战经验

转载: 蜗龙徒行-Spark学习笔记【四】Spark集群中使用spark-submit提交jar任务包实战经验 - cafuc46wingw的专栏 - 博客频道 - CSDN.NET http...
  • zrc199021
  • zrc199021
  • 2017年01月03日 23:22
  • 8217

spark sql scala 开发环境搭建 以及必要jar包导入

1. scala 环境安装及安装 (官网下载) 2.检验 scala 是否安装成功 3.安装 scala 集成开发环境 IDEA (官网自行下载安装) 4.在 IDEA 上 安装 sca...
  • qq_33813365
  • qq_33813365
  • 2017年04月28日 12:25
  • 1702

Spark 开发环境搭建(3)IDEA +Maven 方式导出jar包

Spark 开发环境搭建(3)IDEA +Maven 方式导出jar包pom.xmlxml version="1.0" encoding="UTF-8"?> xmlns="http://maven.a...
  • duan_zhihua
  • duan_zhihua
  • 2017年04月24日 20:37
  • 759

Spark任务提交jar包依赖解决方案

通常我们将spark任务编写后打包成jar包,使用spark-submit进行提交,因为spark是分布式任务,如果运行机器上没有对应的依赖jar文件就会报ClassNotFound的错误。 下面有...
  • wzq294328238
  • wzq294328238
  • 2015年08月28日 16:40
  • 20422

spark:Idea编译程序打jar包部署到spark运行方法--19

感觉没个老师带着学spark真是举步维艰啊···一个问题能卡了2天才解决···写一下这俩天的收获吧··· //////////////////////////打包 1.Project Structur...
  • fenger1943
  • fenger1943
  • 2015年03月30日 23:51
  • 1785

Spark jar包找不到解决方法

今天在使用Spark中DataFrame往Mysql中插入RDD,但是一直报出以下的异常次信息: [itelbog@iteblog ~]$ bin/spark-submit --master lo...
  • liuhui_306
  • liuhui_306
  • 2015年04月24日 16:19
  • 4525

利用Intellij Idea在windows搭建spark 开发环境(含打jar包过程)(一)

本文的目的:利用Intellij Idea在windows搭建spark 开发环境 环境:windows 10, intellij idea2016.1.1, spark 1.6.2(HDP),had...
  • books_csdn
  • books_csdn
  • 2017年01月16日 15:20
  • 2329
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于spark利用jar包跑job的一些总结(二)
举报原因:
原因补充:

(最多只允许输入30个字)