Ubuntu 14.04 下使用IDEA开发Spark应用 入门
网上有很多教程,有用sbt ,也有不用sbt的,看的头大,搞了半天,终于运行成功一个例子,如下:
1.官网下载http://www.jetbrains.com/idea/download/
Interlij IDEA,用conmmunity Edition 就够了
2.启动起来以后,在插件搜索里面 选择scala ,安装。
3.创建scala Project ,设置名称,JDK和Scala路径:
4.选择菜单中的“File”→“project structure”→“Libraries”,然后点击“+”导入spark-assembly-1.2.0-hadoop2.4.0.jar。
这个jar包包含Spark的所有依赖包和Spark源码。
5.新建一个SparkPi的类,最终结果如下:
6.代码如下:
/**
* Created by hadoop on 15-12-15.
*/ package org.apache.spark.examples import scala.math.random
import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ /** Computes an approximation to pi */
object SparkPi {
def main(args: Array[String]) {
// val conf = new SparkConf().setAppName("Spark Pi").setMaster("spark://127.0.0.1:7077") // val spark = new SparkContext(conf)
val spark = new SparkContext("local","Spark Pi") val slices = if (args.length > 0) args(0).toInt else 2
val n = math.min(100000L * slices, Int.MaxValue).toInt // avoid overflow
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()
}
}
7.运行Spark程序像上面我们编写完代码,有两种方法运行我们的程序,一个是IDEA中的run方法,另一个是将我们的程序打包成jar包,在Spark集群上用命令行执行。
Run方法:
在IDEA菜单中选择“Run”→“Edit Configurations”出现如下界面:
点左上角的“+”,选择“Application”,在右边的拓展中改一下name,选择Main函数:
然后点击右上角的绿色运行箭头即可

错误处理:
[error] (run-main-0) java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;
java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;
at akka.actor.ActorCell$.<init>(ActorCell.scala:305)
at akka.actor.ActorCell$.<clinit>(ActorCell.scala)
at akka.actor.RootActorPath.$div(ActorPath.scala:152)
at akka.actor.LocalActorRefProvider.<init>(ActorRefProvider.scala:465)
at akka.remote.RemoteActorRefProvider.<init>(RemoteActorRefProvider.scala:124)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at akka.actor.ReflectiveDynamicAccess$$anonfun$createInstanceFor$2.apply(DynamicAccess.scala:78)
at scala.util.Try$.apply(Try.scala:191)
解决办法:将scala2.11换成scala2.10
Ubuntu 14.04 下使用IDEA开发Spark应用 入门的更多相关文章
- ubuntu 14.04下搭建esp32开发环境
esp32是乐鑫出品的一款集成了wifi和蓝牙的集成模块,板上自带两个哈佛结构的Xtensa LX6 CPU双核处理器,本文主要讲解如何在linux下搭建其编译开发环境. 首先ctrl+alt+t打开 ...
- Ubuntu 14.10 下使用IDEA开发Spark应用
1 环境准备 1.1 下载IDEA,可在官网下载 1.2 IDEA与Eclipse有点不同,IDEA中的New Projects相当于Eclipse中的workspace,New Module才是新建 ...
- Ubuntu 14.04下搭建 Android 开发环境(1) -JDK安装
1.下载最新的jdk安装,地址:http://www.oracle.com/technetwork/java/javase/downloads/ 2.解压jdk-8u20-linux-x64.gz,我 ...
- Ubuntu 14.04下java开发环境的搭建--3--Tomcat及MySQL的安装
前面两篇文章,已经说明了JDK和Eclipse 的安装方法,下面简单说一下,Tomcat及MySQL的安装方法. Tomcat的安装. 在合适的地方解压apache-tomcat-6.0.39.tar ...
- 分布式进阶(二)Ubuntu 14.04下安装Dockr图文教程(一)
当前,完全硬件虚拟化技术(KVM.Xen.Hyper-V 等)能在一个物理主机上很好地运行多个互相独立的操作系统,但这也带来一些问题:性能不佳,资源浪费,系统反应迟缓等.有时候对用户来说,完全的硬件虚 ...
- Ubuntu 14.04 下的MAC OS X 主题安装
Ubuntu 14.04 下的MAC OS X 主题安装 安装 MAC OS X 主题会帮助你的 Ubuntu 14.04 看起来更像MAC OS X.在这里我们介绍的Macbuntu安装包包含了GT ...
- Ubuntu 14.04 下搭建SVN服务器 svn://
Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...
- Ubuntu 14.04下安装功能强大的屏幕截图软件 Shutter
[注释]试用了一下,果然很强大,牛逼 一款功能强大的屏幕截图软件——Shutter,Shutter最基本的就是截图功能了,在设计上可以自由选定区域,同时选定之 后依然可以通过上下左右四个地方来改变选区 ...
- 解决ubuntu 14.04 下eclipse 3.7.2 不能启动,报Could not detect registered XULRunner to use 或 org.eclipse.swt.SWTError: XPCOM 等问题的处理
对于eclipse 3.7.2在ubuntu 14.04下不能启动,需要在 eclipse/configuration 目录下的config.ini文件内增加一行org.eclipse.swt.bro ...
随机推荐
- 如何检索Android设备的唯一ID
关于本文档 Android的开发者在一些特定情况下都需要知道手机中的唯一设备ID.例如,跟踪应用程序的安装,生成用于复制保护的DRM时需要使用设备的唯一ID.在本文档结尾处提供了作为参考的示例代码片段 ...
- 用 Graphviz画神经网络图
用 Graphviz . 以下代码提供一个例子, 具体使用时做简单修改即可. digraph G { rankdir=LR splines=line nodesep=.05; node [label= ...
- Jquery时间快捷控件(Jtime)配置v1.1
1.插件代码 /** * @title 时间工具类 * @note 本类一律违规验证返回false * @author {boonyachengdu@gmail.com} * @date 2013-0 ...
- UESTC_Big Brother 2015 UESTC Training for Graph Theory<Problem G>
G - Big Brother Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) ...
- 关于uitableView的Group模式滑动偏移问题
问题: uitableView的group模式自带一个section的headerView,如果不调整,系统就会默认高度,在滑动时就会向下偏移一个单位的scetion高度,我们改变tableView的 ...
- Mac 下纯lua(二)
Lua库 基本函数 assert(v,[,message]) 当v时false时,返回message assert(money >0,"error -1001"); coll ...
- OGG常见问题处理
1403: ORA-01403: No data found 在运行PL/SQL块.存储过程.函数.触发器等,假设须要进行操作的记录没有查询到.则会返回1403的错误 Goldengate中的1403 ...
- (转)Java字符串应用之密码加密与验证
1.通过java.Security.MessageDigest的静态方法getInstance创建具有指定算法名称的信息摘要,参数为算法名,传入”MD5“则表示使用MD5算法 2.Message ...
- github Permission denied (publickey)解决办法
想要玩玩git,参考了网友懒惰之计的一篇Blog<github:如何获取项目源代码 >,按部就班完成了所有的步骤的, 可在测试的时候,遇到了问题,总是报错”github Permissio ...
- http://www.sufeinet.com/thread-655-1-1.html
http://www.sufeinet.com/thread-655-1-1.html