你好,游客 登录 注册 搜索
背景:
阅读新闻

IDEA下用SBT搭建Spark Helloworld

[日期:2016-12-22] 来源:Linux社区  作者:yongjian [字体: ]

没用过IDEA工具,听说跟Eclipse差不多,sbt在Idea其实就等于maven在Eclipse。Spark运行在JVM中,所以要在Idea下运行spark,就先要安装JDK 1.8+ 然后加入Scala和Spark的依赖包就可以进行开发了,不要安装低版本的JDK。

先下载IDEA的社区版

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

Scala、Spark环境


安装完后下载Scala插件

PJU5N~%]$3}$@Q8XAQX6}$B

新建sbt工程

1{7Z[O9RYO5RR]1TN{T%CI7

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

063C]RYBWUU[4N3R08BD6SF

工程创建成功后的目录

7MAKRFV(($)T`G~NECWXH}T

编辑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可在官网查询

W`~H5U]]ELBR}S{WBK8%ANP

Helloworld


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

image

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”在文件中出现多少次。

运行代码

image

可能出现的错误:

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目录下

Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2016年资料/12月/22日/IDEA下用SBT搭建Spark Helloworld/

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割线------------------------------------------

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-12/138698.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款