使用Eclipse+scala计算Pi
来源:互联网 发布:dna怎么入公安数据库 编辑:程序博客网 时间:2024/06/16 15:02
这里主要介绍用Eclipse IDEA计算Pi值的具体操作过程
- 前提环境条件
- 创建项目
- 创建Maven项目
- 修改pomxml
- 解决java报错
- 修改scala配置
- 创建scala程序
- 创建scala对象
- 计算Pi的源程序
- 运行scala对象
前提环境条件
- 安装Eclipse Scala IDEA
- 下载并配置JAVA 1.8
创建项目
创建Maven项目
用Eclipse创建Maven项目
选择默认地址
选择快速开始项
Group id: org.test
Artifact id: SparkCalPi
修改pom.xml
双击pom.xml, 点击dependencies,点击添加按钮,添加dependency。
Group ID: org.apache.spark
Artifact ID: spark-core_2.11
Version: 2.1.0
添加scala特性
解决java报错
错误为:
Description Resource Path Location Type
Archive for required library: ‘/Users/liuqi/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.6.5/jackson-databind-2.6.5.jar’ in project ‘SparkCalPi’ cannot be read or is not a valid ZIP file SparkCalPi Build path Build Path Problem
到对应文件夹下,删除黄色框部分:
发现都不成功,最后发现是版本不对应,修改pom.xml
<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>1.2.0</version> </dependency> </dependencies>
更改后成功
修改scala配置
点击项目(右键)->属性,删除Scala Library container[2.11.8]
删除Scala-Library-Container
可选:改变scala编译器环境,点击属性->项目配置->修复scala安装(Fix scala installation 2.10.4)
将java包都改为scala
更改 src/main/java 到 src/main/scala
更改 src/test/java 到 src/test/scala
点击包(右键)->重命名,将java改为scala
创建scala程序
创建scala对象
创建新的包org.test.spark
点击包src/main/scala(右键)->新建->包 org.test.spark
创建新的scala对象 SparkPi
点击包org.test.spark(右键)->新建->scala对象,命名为 SparkPi
计算Pi的源程序
源代码
package org.test.spark import scala.math.randomimport org.apache.spark._object SparkPi { def main(args: Array[String]) { val conf = new SparkConf().setAppName("Spark Pi") .setMaster("local") val spark = new SparkContext(conf) 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() }}
运行scala对象
运行scala对象
点击scala对象(右键)->运行->Java应用程序
查看最后结果,报错 ERROR ActorSystemImpl: Uncaught fatal error from thread [sparkDriver-akka.remote.default-remote-dispatcher-8] shutting down ActorSystem [sparkDriver]
由于集群较小,只有4台机器,在其中master上面提交了任务,结果出现上述异常。即driver 内存不足,因此使用Spark-sumbit脚本时,提供–executor-memory –driver-memory选项,来相应的设置内存。
(暂时还没有解决,暂缓)
理论结果如下:
- 使用Eclipse+scala计算Pi
- scala下使用akka计算pi
- scala下使用akka计算圆周率pi
- 使用MapReduce计算Pi
- 使用Eclipse开发Scala
- 计算PI
- 计算pi
- 使用scala-eclipse 创建scala-maven项目
- 使用Java Math.random()利用蒙特卡洛方法计算pi值
- Pi的计算程序
- PI的计算公式
- 并行计算mpi [ PI ]
- PI值计算
- 计算Pi值
- 计算Pi(1)
- 计算Pi(2)
- 计算pi的方法
- hadoop 计算pi
- nyoj 1238 最少换乘(spfa)
- HBase的配置
- codeforces 673C
- HAUTOJ 1265
- Java 套接字
- 使用Eclipse+scala计算Pi
- [机器学习]Logistic回归梯度上升法与改进的随机梯度上升算法
- 错误: 找不到或无法加载主类
- Android Greendao3.0框架的使用
- centos 6.5配置epel源
- SDN實驗(一) Mininet使用
- HBse中Shell
- CPU卡程序设计实例(三)命令格式
- 内核轮询式IO(poll-select)