Spark:windows下配置spark开发环境

安装基本的开发环境

  1. 从spark官网下载spark,如spark-2.3.0-bin-hadoop2.7.tgz,解压并配置环境变量:

    1. 增加SPARK_HOME
    2. PATH中加入%SPARK_HOME%\bin
  2. 下载对应版本Scala,若不是安装版解压后需要配置环境变量,同第一步,安装成功后在命令行里应该可以启动scala shell。

  3. 下载对应版本hadoop,如hadoop-2.7.5.tar.gz,解压并配置环境变量,同第一步。

  4. 下载对应版本winutils.exe,放入%HADOOP_HOME%\bin目录。 下载地址:https://github.com/steveloughran/winutils
    此时应该可以正常启动spark-shell。
    若使用spark.table("table")读取表出错,可能是因为在系统盘权限不足,切换目录重新运行spark-shell或执行以下语句:%HADOOP_HOME%\bin\winutils.exe chmod 777 tmp/hive 改变权限

  5. 下载eclipse,解压,Help—>Eclipse Marketplace,搜索Scala IDE插件安装,重启eclipse。就可以新建Scala项目了。

  6. 下载sbt,若不是安装版解压后需要配置环境变量,同第一步。

安装sbteclipse插件

修改sbt资源库.ivy2位置

%SBT_HOME%/conf/sbtopts里面进行配置(此步骤不用配置,因为用下面的修改即可起效)

-sbt-dir  d:/scala/sbt/sbt_0.13.17
-sbt-boot d:/scala/sbt/.sbt/boot  
-ivy d:/scala/sbt/.ivy2
-sbt-version  0.13.17
-scala-version 2.11.12

修改%SBT_HOME%/bin下sbt-launch.jar,用压缩打包软件打开,修改里面的sbt/sbt.boot.properties文件(修改前备份)。

[repositories]
  local
  local-preloaded-ivy: file:///${sbt.preloaded-${sbt.global.base-${user.home}/.sbt}/preloaded/}, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]
  local-preloaded: file:///${sbt.preloaded-${sbt.global.base-${user.home}/.sbt}/preloaded/}
  maven-central
  typesafe-ivy-releases: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
  sbt-ivy-snapshots: https://repo.scala-sbt.org/scalasbt/ivy-snapshots/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
  aliyun: http://maven.aliyun.com/nexus/content/groups/public/
  sbt-maven-releases: http://repo.scala-sbt.org/scalasbt/maven-releases/, bootOnly
  sbt-maven-snapshots: http://repo.scala-sbt.org/scalasbt/maven-snapshots/, bootOnly

[boot]
  directory: d:/scala/sbt/.sbt/boot/

[ivy]
  ivy-home: d:/scala/sbt/.ivy2
  checksums: ${sbt.checksums-sha1,md5}
  override-build-repos: ${sbt.override.build.repos-false}
  repository-config: d:/scala/sbt/.sbt/repositories

安装sbteclipse插件

https://github.com/sbt/sbteclipse

编辑(不存在则先新建)两个文件:

  • ~/.sbt/1.0/plugins/plugins.sbt
  • ~/.sbt/0.13/plugins/plugins.sbt

~表示C盘用户目录,注意此时就算更改了资源库位置也会在C盘用户目录生成.sbt文件夹,plugins.sbt放在此处

文件内容:

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.2.4")

完成以上工作后:

  1. 在eclipse里建立一个scala项目。

  2. 打开cmd,cd到项目根目录下。
    也就是和build.sbt位于同一目录。

  3. 执行sbt eclipse命令下载依赖
    下载完成后刷新eclipse项目就好了。

也可以在workplace里面新建立一个文件夹,在里面运行sbt eclipse,然后用eclipse导入项目,再修改下里面的scala版本(不用修改Java Build Path,直接修改Scala Compiler就好),加入source文件夹等(推荐这种方式)。

一个build.sbt文件的例子:

name := "Test"

version := "1.0"

scalaVersion := "2.11.8"

libraryDependencies += "org.apache.spark" %% "spark-core" % "2.3.1"

libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.3.1"

libraryDependencies += "org.apache.spark" %% "spark-mllib" % "2.3.1"

libraryDependencies += "org.apache.hbase" % "hbase-common" % "1.4.0"

libraryDependencies += "org.apache.hbase" % "hbase-client" % "1.4.0"

libraryDependencies += "org.apache.hbase" % "hbase-server" % "1.4.0"

libraryDependencies += "org.apache.hadoop" % "hadoop-common" % "2.7.5"

libraryDependencies += "org.apache.hadoop" % "hadoop-client" % "2.7.5"

libraryDependencies += "org.apache.hadoop" % "hadoop-hdfs" % "2.7.5"

libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.6"

lazy val akkaVersion = "2.5.3"

libraryDependencies ++= Seq(
  "com.typesafe.akka" %% "akka-actor" % akkaVersion,
  "com.typesafe.akka" %% "akka-testkit" % akkaVersion,
  "org.scalatest" %% "scalatest" % "3.0.1" % "test"
)
posted @ 2019-01-04 17:24  xuejianbest  阅读(223)  评论(0编辑  收藏  举报