参考:spark开发环境搭建(基于idea 和maven)

安装JDK

  1. 这里下载Java 8的JDK
  2. 设置JAVA_HOME环境变量,在Mac上它大概会是/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/这个样子

    我选择的是在~/.bash_profile文件里添加一句:

    export JAVA_HOME=/path/to/JDK,路径换成自己的JDK路径

安装Maven

Mac下用Brew安装即可:

brew install maven

Intellij IDEA

以下基本跟spark开发环境搭建(基于idea 和maven)一样,详细可以去这里看

下载和安装

这个……去官网下载即可,学生可以申请学生账号,挺方便的

配置Intellij IDEA

  1. 安装scala插件: 打开Intellij IDEA右下角的Configure,然后选择Plugins,搜索scala插件并安装,安装完之后重启IDE。

  2. 设置全局JDK: 在我的IDEA版本里是选择Structure for New Projects,在弹出的界面依次选择Project-New-JDK,把目录设置成跟JAVA_HOME一样的目录

  3. 设置全局Scala SDK 还是刚刚Structure for New Projects的界面,在Global Libraries选项卡下点+后选择Scala SDK,然后会弹出一个界面如下:

    我不像那位Po主一样有System选项,所以需要选择Download去下载一个SDK。

    !!!!!!!!这里有一个要点!!!!!!!!

    注意一下你的Spark是什么版本的,比如我用的Spark 2.1.2,在官网上有这么一句:

    所以下载的时候选择2.11版本的scala即可,太高和太低都有可能出问题= =,我之前下了2.13出现跟这里一样的错误。

    下载完之后Global Libraries里就有这个sdk啦,然后在这个sdk上右键,点击Copy to Project Libraries

新建Maven项目

点新建项目,然后选择Maven项目,在右侧Project SDK看看是不是成功配置了我们的JDK,然后设置好GroupIdArtifactIdVersion

运行scala程序

可以把main\java, main\resourcestest 都暂时删掉,它们的作用见这篇文章

将Scala的框架添加到这个项目中,方法是在左侧栏中的项目名称上右键菜单中点击Add Framework Support…,然后在打开的对话框左侧边栏中,勾选Scala前面的复选框,然后点击确定即可。

我是不用单独再导入这个框架,直接做下一步就可以了

main文件夹中建立一个名为scala 的文件夹,并右键点击scala文件夹,选择Make Directory as,然后选择Sources Root,这里主要意思是将 scala 文件夹标记为一个源文件的根目录,然后在其内的所有代码中的 package ,其路径就从这个根目录下开始算起。

这一步非常重要!!!!! 不做这个下一步可能凉凉

在已经标记好为源文件根目录的 scala 文件夹 上,右键选择 New,然后选择 Scala Class,随后设置好程序的名称,并且记得将其设置为一个 Object(类似于Java中含有静态成员的静态类),正常的话,将会打开这个 Object 代码界面,并且可以看到IntelliJ IDEA自动添加了一些最基本的信息;

Object元素内 输入:

def main(args: Array[String]):Unit = {
println("Hello World!")
}

然后就可以Run它,会输出结果。

调试Spark

首先要修改pom.xml里导入相关依赖,注意scala和spark的版本要写对。每次修改完pom.xml之后记得Import Changes。点击右上角的Edit Configurations:

设置一下VM参数:

然后就可以正常Run了,理论上应该不会报错,如果有问题可以试试在terminal里输入mvn cleanmvn install安装需要的依赖。

MacOS使用IDEA+Maven+Scala+Spark进行本地调试的更多相关文章

  1. windows下Idea结合maven开发spark和本地调试

    本人的开发环境: 1.虚拟机centos 6.5 2.jdk 1.8 3.spark2.2.0 4.scala 2.11.8 5.maven 3.5.2     在开发和搭环境时必须注意版本兼容的问题 ...

  2. Eclipse+maven+scala+spark环境搭建

    准备条件 我用的Eclipse版本 Eclipse Java EE IDE for Web Developers. Version: Luna Release (4.4.0) 我用的是Eclipse ...

  3. eclipse构建maven+scala+spark工程 转载

    转载地址:http://jingpin.jikexueyuan.com/article/47043.html 本文先叙述如何配置eclipse中maven+scala的开发环境,之后,叙述如何实现sp ...

  4. eclipse构建maven+scala+spark工程

    前提条件 下载安装Scala IDE build of Eclipse SDK 构建工程 1.新建maven工程 2.配置项目信息 3.新建scala对应的Source Folder 4.添加scal ...

  5. Eclipse + Idea + Maven + Scala + Spark +sbt

    http://jingpin.jikexueyuan.com/article/47043.html 新的scala 编译器idea使用 https://www.jetbrains.com/idea/h ...

  6. <Spark Streaming><本地调试>

    写在前面 因为本地电脑没装flume,nginx各种.所以之前写Streaming程序的时候,都是打包了放到集群上跑.就算我在程序代码里不停地logger,调试起来也hin不方便. 于是本地写了两个程 ...

  7. Intellij IDEA使用Maven搭建spark开发环境(scala)

    如何一步一步地在Intellij IDEA使用Maven搭建spark开发环境,并基于scala编写简单的spark中wordcount实例. 1.准备工作 首先需要在你电脑上安装jdk和scala以 ...

  8. spark之scala程序开发(本地运行模式):单词出现次数统计

    准备工作: 将运行Scala-Eclipse的机器节点(CloudDeskTop)内存调整至4G,因为需要在该节点上跑本地(local)Spark程序,本地Spark程序会启动Worker进程耗用大量 ...

  9. 在IntelliJ IDEA中创建和运行java/scala/spark程序

    本文将分两部分来介绍如何在IntelliJ IDEA中运行Java/Scala/Spark程序: 基本概念介绍 在IntelliJ IDEA中创建和运行java/scala/spark程序 基本概念介 ...

随机推荐

  1. A Child's History of England.4

    Still, the Britons would not yield. They rose again and again, and died by thousands, sword in hand. ...

  2. Django url中可以使用类视图.as_view()进行映射的原因

    说明:在练习天天生鲜项目时,对利用类视图去与正则匹配到的url做映射有点疑惑,经过查看他人博客以及自我分析算是整明白了,所以记录一下 参考:https://www.zmrenwu.com/post/5 ...

  3. Cocoapods 版本更新与更新到指定版本

    1.本地现有的Cocoapods的版本号是1.1.0.rc.2,想升级到最新版本 1.先切换gem源 gem sources --remove https://rubygems.org/ gem so ...

  4. ganglia -api

    setup 命令: virtualenv ve source ve/bin/activate pip install -r requirements.txt python ganglia/gangli ...

  5. NSURLSession实现文件上传

    7.1 涉及知识点(1)实现文件上传的方法 /* 第一个参数:请求对象 第二个参数:请求体(要上传的文件数据) block回调: NSData:响应体 NSURLResponse:响应头 NSErro ...

  6. Dockers启动Kafka

    首先安装 Confluent Platform Quick Start for Confluent Platform (Local install) Use this quick start to g ...

  7. AJAX - Http 中 post 和 get 的区别

    HTTP: post 和 get 是 HTTP 协议中的两种方法.浏览器和服务器的交互是通过 HTTP 协议执行的,他的全称为Hyper Text Transfer Protocol(超文本传输协议) ...

  8. angular关于select的留白问题

    Angular select留白的问题 小白的总结,大神勿喷:需要转载请说明出处,如果有什么问题,欢迎留言 总结:出现留白说明你的ng-model的值在option的value中没有对应的值: 一.直 ...

  9. uni-app使用腾讯地图注意点

    地图map组件使用腾讯地图自定义样式: 1:在使用地图map组件腾讯地图时,获取本地定位,经纬度转地址与地址转经纬度解析时,小程序可以直接使用.但是h5版本会报跨域问题,目前前端没有找到更好的解决方法 ...

  10. Java中的选择结构(二)

    选择结构(二) 学习本章会用到的单词: case:实例,情形,情况 switch:转换,切换,开关 default:系统默认值,违约,预设.缺省 exit:出口,通道,退出 consume:消耗,耗费 ...