先下载Idea的社区版

https://www.jetbrains.com/idea/download/download-thanks.html?platform=windows&code=IIC

Scala、Spark环境


安装完后下载Scala插件

Idea下用SBT搭建Spark Helloworld

新建sbt工程

Idea下用SBT搭建Spark Helloworld

这里需要注意,如果选择Spark2.0以上,那么Scala要选2.11以上。因为我用的是Spark2.0.2,所以就选择2.11.1,选择JDK版本后确认。

Idea下用SBT搭建Spark Helloworld

工程创建成功后的目录

Idea下用SBT搭建Spark Helloworld

编辑build.sbt文件,添加Spark依赖

name := "Scala"

version := "1.0"

scalaVersion := "2.11.1"

libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.0.2"

保存,等待下载完依赖的包。

PS: Scala版本对应的Spark可在官网查询

Idea下用SBT搭建Spark Helloworld

Helloworld


在project下 src/scala包下创建一个scala.class

Idea下用SBT搭建Spark Helloworld

 

helloworld.scala

import org.apache.spark.{SparkConf, SparkContext}

/**
  * Created by Jan on 2016/12/19.
  */
object Helloworld {

    def main(args: Array[String]) {
      val logFile = "./README.md"  // Should be some file on your server.
      val conf = new SparkConf().setAppName("Simple Application").setMaster("local")
      val sc = new SparkContext(conf)
      val logData = sc.textFile(logFile, 2).cache()
      val numAs = logData.filter(line => line.contains("h")).count()
      val numBs = logData.filter(line => line.contains("j")).count()
      println("Lines with h: %s, Lines with j: %s".format(numAs, numBs))
    }

}

上面代码目的是:在本地读取一个叫README.md的文件,通过Spark内存分析,计算字母“h”和字母“j”在文件中出现多少次。

运行代码

Idea下用SBT搭建Spark Helloworld

可能出现的错误:

java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

原因是缺少了winutils.exe文件,这个而且没有设置HADOOP_HOME

解决办法

1. 下载hadoop到本机并添加bin目录到环境变量

http://hadoop.apache.org/releases.html

2. 网上搜下winutils.exe文件,下载后放到hadoop的bin目录下

http://download.csdn.net/detail/u014313009/7671379

相关文章:

  • 2022-01-23
  • 2022-12-23
  • 2021-04-07
  • 2022-12-23
  • 2021-12-04
  • 2021-11-24
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-05
  • 2021-06-14
  • 2021-05-14
  • 2021-12-27
  • 2021-04-22
相关资源
相似解决方案