Spark新手入门——1.Scala环境准备
主要包括以下三部分,本文为第一部分:
一. Scala环境准备
二. Hadoop集群(伪分布模式)安装 查看
三. Spark集群(standalone模式)安装 查看
因Spark任务大多由Scala编写,因此,首先需要准备Scala环境。
注:楼主实验环境为mac os
Scala环境准备
下载JDK1.8并安装、配置环境变量(JAVA_HOME),建议使用1.8,与时俱进;
下载scala-sdk并解压到某个路径(如:
~/tools/scala-2.12.6),为方便使用还可以设置一下SCALA_HOME,在终端输入~/tools/scala-2.12.6/bin/scala(未设置SCALA_HOME)或scala(前提设置了SCALA_HOME)可以验证scala的版本或进行交互实验(scala官网推荐的图书《Programming in Scala, 3rd ed》中的实例均为在此模式下运行,故学习scala阶段到这一步就够了)

下载IntelliJ IDEA(Ultimate"版即为免费版本)并安装,安装后安装Scala插件(plugin),如下图所示;
打开plugin菜单:

搜索并安装scala插件

- 写个小程序测试一下吧
选择“Create New Project”

选择项目类型为“Scala”

默认没有Scala SDK,通过以下方式添加:Create->Browse...

找到SCALA_HOME

完成配置

为方便开发,将项目转换为maven项目以解决繁琐的依赖包问题,项目名右键-->Add Framework Support...

选择maven

项目会自动引入pom.xml,变为scala maven project,并在src下创建source root(可以在package上右键更改)

source root(该项目中为main.java)上右键-->New-->Scala Class

选择类型为Object,用以创建main函数

编写测试代码

在代码空白处或项目名处右键-->Run 'ScalaTest'测试代码

虽然引入了pom.xml,默认却不会自动import依赖包,出现提示选择“Auto-Import”

测试结果

之所以这一步这么详细是因为我发现创建项目的时候选择哪种project类型会很纠结,也没有官方标准,经过实验,推崇先创建scala project再转换为maven project;如果创建的时候选择了maven project,通过“Add Framework Support...”再引入Scala SDK也是可以的,最终效果和图中给出的差不多,但是目录结构会有差异。
注1:SCALA_HOME、JAVA_HOME在mac下设置方式:
在~/.bash_profile中添加如下指令:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home
export SCALA_HOME=/Users/<你的名字>/tools/scala-2.12.6
export PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$PATH
参考文档:官方文档
Spark新手入门——1.Scala环境准备的更多相关文章
- Spark新手入门——3.Spark集群(standalone模式)安装
主要包括以下三部分,本文为第三部分: 一. Scala环境准备 查看二. Hadoop集群(伪分布模式)安装 查看三. Spark集群(standalone模式)安装 Spark集群(standalo ...
- Spark新手入门——2.Hadoop集群(伪分布模式)安装
主要包括以下三部分,本文为第二部分: 一. Scala环境准备 查看 二. Hadoop集群(伪分布模式)安装 三. Spark集群(standalone模式)安装 查看 Hadoop集群(伪分布模式 ...
- 安卓自动化测试(2)Robotium环境搭建与新手入门教程
Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...
- 新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布
Vue2.0 新手入门 — 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就 ...
- Spark(七) -- Scala快速入门
Scala作为Spark的开发语言,想要成为Spark高手,精通Scala是必须要走的一条路 然后一门语言并不是你想精通就能够精通的,更何况是Scala这种面向对象又面向函数的编程语言,个人觉得其学习 ...
- 总结Vue 第四天:vue-cli(Vue2.0 新手入门 — 从环境搭建到发布)
总结Vue 第四天:vue-cli(Vue2.0 新手入门 - 从环境搭建到发布) 一.Vue CLI----(Vue2.0 新手入门 - 从环境搭建到发布): ■ CLI是Command-Lin ...
- 问题集录--新手入门深度学习,选择TensorFlow 好吗?
新手入门深度学习,选择 TensorFlow 有哪些益处? 佟达:首先,对于新手来说,TensorFlow的环境配置包装得真心非常好.相较之下,安装Caffe要痛苦的多,如果还要再CUDA环境下配合O ...
- [转] Spark快速入门指南 – Spark安装与基础使用
[From] https://blog.csdn.net/w405722907/article/details/77943331 Spark快速入门指南 – Spark安装与基础使用 2017年09月 ...
- spark一些入门资料
spark一些入门资料 A Scala Tutorial for Java Programmers http://docs.scala-lang.org/tutorials/scala-for-jav ...
随机推荐
- Spring 添加属性集中常见方法
//创建容器,索要对象, package cn.lijun.Test; import org.junit.Test;import org.springframework.context.Applica ...
- 《C#从现象到本质》读书笔记(八)第10章反射
<C#从现象到本质>读书笔记(八)第10章反射 个人感觉,反射其实就是为了能够在程序运行期间动态的加载一个外部的DLL集合,然后通过某种办法找到这个DLL集合中的某个空间下的某个类的某个成 ...
- 主引导扇区MBR的解析
http://blog.chinaunix.net/uid-24774106-id-3340397.html 最近排查一个USB相关的故障,由于信息安全就不多说工作上的事情了,顺路学习了MBR的相关知 ...
- javascript 跨域 的几种方法
1.jsonp方法 转:https://blog.csdn.net/liusaint1992/article/details/50959571 主要实现功能: 1.参数拼装. 2.给每个回调函数唯 ...
- Python_day6
Δ汉诺塔例子 # 定义三个全局的列表 la = [] lb = [] lc = [] stepn = 0 def create_hano(n): '''构建由n个圆盘组成的汉诺塔''' global ...
- flask 学习
标题 操作 09-2-sqlalchemy数据库查询 (2019-01-18 23:30) 编辑 09-1-数据库扩展包flask-sqlalchemy (2019-01-18 17:53) 编辑 0 ...
- JDK源码核心包
一.核心包有哪些? Jdk的包中,除开了lang包下面的类,用得最多的应该要属于util包下面的类了, 本篇文章主要针对Jdk的util包下面的类(util目录下面的类,暂时不包括util 包下面的子 ...
- Java 线程使用注意事项
事件处理线程说明 如果事件处理的逻辑能迅速完成,并且不会发起新的IO请求,比如只是在内存中记个标识,则直接在IO线程上处理更快,因为减少了线程池调度. 但如果事件处理逻辑较慢,或者需要发起新的IO请求 ...
- cf 20C Dijkstra?
带队列 dijkstra #include <iostream> #include <cstdio> #include <queue> #include < ...
- Android开发 - 掌握ConstraintLayout(一)传统布局的问题
在传统的Android开发中,页面布局占用了我们很多的开发时间,而且面对复杂页面的时候,传统的一些布局会显得非常复杂,每种布局都有特定的应用场景,我们通常需要各种布局结合起来使用来实现复杂的页面.随着 ...