您的位置:首页 > 运维架构

Spark1.6.0 Hadoop2.6.0 单机win7下配置(Intellij IDEA)

2016-11-24 19:58 453 查看

1. 首先需要注意的

Scala版本要与Spark相应版本对应

比如Spark1.6.0,官网上给出了依赖

Spark runs on Java 7+, Python 2.6+ and R 3.1+. For the Scala API, Spark 1.6.0 uses Scala 2.10. You will need to use a compatible Scala version (2.10.x).

否则会报错

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;


2. 下载Intellij IDEA

下载后只需要注意两点

安装scala插件

新建工程的时候,选择正确的scala版本,如果如果没有,creat一个

3. 下载spark-1.6.0-bin-hadoop2.6

下载地址:Spark官网下载

4. 下载win下编译版

The official release of Apache Hadoop 2.6.0 does not include the required binaries (e.g., winutils.exe) necessary to run hadoop. In order to use Hadoop on Windows, it must be compiled from source.

网上充斥着2.2.0版本的,今天找到了2.6.0的

附上下载地址:

Hadoop 2.6.0 Windows 64-bit Binaries

5. 配置环境变量

在系统变量(也可以是用户变量)里,创建变量HADOOP_HOME,值为上面第4步下载的Binaries的路径;

在path后加上,%HADOOP_HOME%\bin

6. Intellij IDEA依赖添加

在工程的External Libraries里面添加上面第3步spark-1.6.0-bin-hadoop2.6中的lib文件夹下的spark-assembly-1.6.0-hadoop2.6.0.jar

7. 测试

测试可以选择下载的Spark文件中自带的example,此次选择SparkPI。

在工程中新建一个Scala Object, SparkPi, 如下:

package basic

import scala.math.random

import org.apache.spark._
/**
* Created by *** on 2016/11/24.
*/
object SparkPi {

def main(args: Array[String]): Unit = {
val conf = new SparkConf().setMaster("local").setAppName("Spark Pi")
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()

}
}


输出结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spark hadoop Intellij idea win7