通常Spark普遍使用Jet Brain的Idea,用Idea建立本地服务器并进行测试开发,使用起来还相对不错,可以借力Idea强大而便捷的功能,使得开发应用相对得心应手。然而最近一直考虑远程服务器的搭建并建立开发环境,发现Idea缺乏远程开发的支持或支持不是十分完美。一段时间使用VSCode,感觉十分不错,轻量化,尤其完美的远程服务器模式,不仅支持WSL,也支持SSH远程模式很适合远程环境配置开发。以下是使用VSCode借力远程服务插件和Scala Metals插件搭建Spark应用开发环境记录心得。

1 VSCode安装远程服务插件

在VSCode扩展搜索安装Remote-SSH和Remote-WSL插件,他们分别支持SSH远程和WSL的环境开发。

2 在VSCode扩展搜索安装Scala语言插件Scala Syntax (official)和Scala (Metals),核心是Scala Metals,该插件是Metals针对VSCode插件,为Scala center维护,可谓具有相当官方地位,具备代码补全、提示、高亮、运行与调试等功能。需要注意,不要同时安装 Scala Language Server 和 Scala (sbt) 插件。

官方网址:Metals | Metals (scalameta.org)https://scalameta.org/metals/3 下载安装配置必要的应用软件,包括JDK、Scala、Sbt、Spark、Hadoop等。如果是本机测试,最小安装包括Spark,相应Hadoop、Scala。应该注意相互的版本匹配,比如spark-3.1.1-bin-hadoop3.2,选择安装hadoop-3.2.1,注意查看spark-3.1.1-bin-hadoop3.2 Scala版本,在Spark安装目录里jars下,可以看到Spark Scala是2.12.10,所以下载安装Scala 2.12.10。Sbt可以下载安装最新版。另需要注意,在Windows系统下,Spark最新版3.2.0安装后无法正常启动,但Spark 3.1.2还有以前的版本基本上能够正常运行。运行本地最小Spark其实并不需要Hadoop的安装,为了避免出错,在Windows系统下下载安装相应版本的Hadoop编译winutils,可以到Github下载。kontext-tech/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows (github.com)https://github.com/kontext-tech/winutils

JKD安装1.8版本,更高版本很多时候会出现各种各样的问题,适配性较差。软件安装需要完成一系列的设置,比如各环境变量JAVA_HOME、HADOOP_HOME、SPARK_HOME、SCALA_HOME、SBT_HOME,指向相应的软件安装目录,设置PATH路径。

4 创建Scala项目。创建项目目录比如spark-test,在内创建目录结构src/main/scala。在项目目录中启动VSCode。这是在我机器的WSL下状态。

wslu@LAPTOP-Q1FQOTCB:~/devz$ mkdir spark-test
wslu@LAPTOP-Q1FQOTCB:~/devz$ cd spark-test
wslu@LAPTOP-Q1FQOTCB:~/devz/spark-test$ mkdir -p src/main/scala
wslu@LAPTOP-Q1FQOTCB:~/devz/spark-test$ code .

在项目下新建文件build.sbt。

scalaVersion := "2.12.10"name := "spark-test"
version := "1.0"libraryDependencies += "org.scala-sbt" %% "zinc" % "1.5.7"libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2"

修改scalaVersion和name适合你的设置,保存,此时会弹出Import the build,选Import build,此时Metals监测到项目的变化,识别项目是Scala项目,会开始进行一系列的项目设置,并下载相关依赖。当项目中有.sbt或.scala文件发生变化,Metals都会识别,做相应的Import build或编译等动作。

可以看到项目结构产生了变化,在项目下新产生一些"."开头的文件目录和project、target目录。

注意 libraryDependencies += "org.scala-sbt" %% "zinc" % "1.5.7" 是Metals项目需要的。以下可以编写代码。

首先在build.sbt中添加依赖:

libraryDependencies +="org.apache.spark"%%"spark-core"%"3.1.1"
libraryDependencies +="org.apache.spark"%%"spark-sql"%"3.1.1"

注意 ”3.2.0“ 是Spark版本,要适合你的Spark版本号。

创建Scala文件,比如Spark Test.scala,输入代码,保存。

import org.apache.spark.sql.SparkSessionobject SparkTest  {def main(args: Array[String]) = {println("hello scala!")val ss = SparkSession.builder.appName("SparkTest").master("local[*]").getOrCreate()import ss.implicits._ss.createDataset(1 to 10).show()ss.close()}}

Matels会识别变化,进行一些动作,然后可以运行程序。

在VSCode开启终端,用SBT编译、打包和运行程序。

点击编辑窗口 run | debug,可以借助Metals直接进行程序的运行和调试。

这后几个截图都是SSH远程运行的结果。

哈!不错呦。

用VSCode开发Spark应用相关推荐

  1. 使用VScode开发ESP32,PlatformIO开发ESP32

    arduino IDE安装开发板库 安装arduino IDE 首先下载arduino IDE并安装.在官网下载即可.如果官网下载慢,可以找第三方资源下载. 下载开发板库 安装后进入"文件& ...

  2. 使用VScode开发ESP8266,PlatformIO开发ESP8266

    arduino IDE安装开发板库 安装arduino IDE 首先下载arduino IDE并安装.在官网下载即可.如果官网下载慢,可以找第三方资源下载. 下载开发板库 安装后进入"文件& ...

  3. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )

    文章目录 一.tasks.json 中的 args 数组配置分析 二.编译并执行 C++ 程序 可以参考官方提供的文档 : https://code.visualstudio.com/docs/cpp ...

  4. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )

    文章目录 一.创建 tasks.json 编译器构建配置文件 二.tasks.json 编译器构建配置文件分析 可以参考官方提供的文档 : https://code.visualstudio.com/ ...

  5. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ③ ( 创建工程目录 | 添加 C++ 源代码 | 代码自动提示 )

    文章目录 一.创建工程目录 二.添加 C++ 源代码 三.代码自动提示 可以参考官方提供的文档 : https://code.visualstudio.com/docs/cpp/config-linu ...

  6. Apache Spark学习:利用Scala语言开发Spark应用程序

    Spark内核是由Scala语言开发的,因此使用Scala语言开发Spark应用程序是自然而然的事情.如果你对Scala语言还不太熟悉,可以阅读网络教程 A Scala Tutorial for Ja ...

  7. vsCode 开发微信小程序插件

    用 vsCode 开发微信小程序可以配置以下插件,让开发更美好: 1. vscode weapp api 2. vscode wxml 3. vscode-wechat 4. Easy WXLESS ...

  8. maven环境下使用java、scala混合开发spark应用

    熟悉java的开发者在开发spark应用时,常常会遇到spark对java的接口文档不完善或者不提供对应的java接口的问题.这个时候,如果在java项目中能直接使用scala来开发spark应用,同 ...

  9. VSCode开发.NETCore项目入门(1)设置中文语言环境

    安装VSCode 最新地址:https://code.visualstudio.com/,下载后安装即可 配置语言环境 打开安装好的VSCode软件,可以看到刚刚安装的VSCode软件默认使用的是英文 ...

最新文章

  1. 漏洞评估的优先级决定了网络安全保护的成本
  2. vue eslint 代码自动格式化
  3. 修复 XE7 , XE8 Frame 内 PopupMenu 快捷键失效问题
  4. java spring源码_spring源码分析-spring中的bean
  5. 8 定制10MINs 3
  6. Java集合框架之接口Collection源码分析
  7. 大型网站技术架构-入门梳理
  8. 通过分析如何一个人的性格笔迹?
  9. LINUX 7.0真机系统安装问题
  10. cs231n课后作业(1)
  11. 度分秒与度数相互转换的Matlab函数
  12. rx560d linux 图形设计,RX560D与560区别对比:RX 560D和RX 560哪个好
  13. 检测键盘的 CAPS LOCK 开关
  14. 编码中关于二义性的解释
  15. 数字中国创新大赛决赛名单出炉,与华为云 EI 一起挑战书法识别
  16. 为什么宝宝做错事被骂哭后,还要求抱抱?
  17. 剪刀石头布(自留底)01
  18. 数字信号处理(FIR滤波器的设计与原理及基础知识)
  19. 原来做图标这么简单!
  20. 浅谈微信三级分销系统的漏洞

热门文章

  1. jqgrid 常见操作
  2. IEEE75432位float表示范围
  3. Zynq UltraScale+ MPSoC-模拟U盘
  4. 美颜api和AI智能美妆碰撞出了怎样的火花?
  5. day6HTML5新特性
  6. P2685_汽车拉力比赛
  7. Spring基本配置
  8. NOKIA各机型相对应操作系统平台及屏幕参数http://www.nokiacn.net/thread-213829-1-1.html
  9. 什么是股票期权?股票期权激励是什么?
  10. 搜救小车单片机_一种智能火灾搜救小车的制作方法