主要包括以下三部分,本文为第一部分:

一. Scala环境准备

二. Hadoop集群(伪分布模式)安装 查看

三. Spark集群(standalone模式)安装 查看

因Spark任务大多由Scala编写,因此,首先需要准备Scala环境。

注:楼主实验环境为mac os

Scala环境准备

  1. 下载JDK1.8并安装、配置环境变量(JAVA_HOME),建议使用1.8,与时俱进;

  2. 下载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阶段到这一步就够了)

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

    打开plugin菜单:

搜索并安装scala插件

  1. 写个小程序测试一下吧

    选择“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环境准备的更多相关文章

  1. Spark新手入门——3.Spark集群(standalone模式)安装

    主要包括以下三部分,本文为第三部分: 一. Scala环境准备 查看二. Hadoop集群(伪分布模式)安装 查看三. Spark集群(standalone模式)安装 Spark集群(standalo ...

  2. Spark新手入门——2.Hadoop集群(伪分布模式)安装

    主要包括以下三部分,本文为第二部分: 一. Scala环境准备 查看 二. Hadoop集群(伪分布模式)安装 三. Spark集群(standalone模式)安装 查看 Hadoop集群(伪分布模式 ...

  3. 安卓自动化测试(2)Robotium环境搭建与新手入门教程

    Robotium环境搭建与新手入门教程 准备工具:Robotium资料下载 知识准备: java基础知识,如基本的数据结构.语法结构.类.继承等 对Android系统较为熟悉,了解四大组件,会编写简单 ...

  4. 新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布

    Vue2.0 新手入门 — 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就 ...

  5. Spark(七) -- Scala快速入门

    Scala作为Spark的开发语言,想要成为Spark高手,精通Scala是必须要走的一条路 然后一门语言并不是你想精通就能够精通的,更何况是Scala这种面向对象又面向函数的编程语言,个人觉得其学习 ...

  6. 总结Vue 第四天:vue-cli(Vue2.0 新手入门 — 从环境搭建到发布)

    总结Vue 第四天:vue-cli(Vue2.0 新手入门 - 从环境搭建到发布) 一.Vue CLI----(Vue2.0 新手入门 - 从环境搭建到发布): ■   CLI是Command-Lin ...

  7. 问题集录--新手入门深度学习,选择TensorFlow 好吗?

    新手入门深度学习,选择 TensorFlow 有哪些益处? 佟达:首先,对于新手来说,TensorFlow的环境配置包装得真心非常好.相较之下,安装Caffe要痛苦的多,如果还要再CUDA环境下配合O ...

  8. [转] Spark快速入门指南 – Spark安装与基础使用

    [From] https://blog.csdn.net/w405722907/article/details/77943331 Spark快速入门指南 – Spark安装与基础使用 2017年09月 ...

  9. spark一些入门资料

    spark一些入门资料 A Scala Tutorial for Java Programmers http://docs.scala-lang.org/tutorials/scala-for-jav ...

随机推荐

  1. vue中鼠标移入字体下面显示颜色并改变字体颜色的问题

    <template> <div class="smart_nav" :class="{'fixedTop':fixedTop}"> &l ...

  2. CentOS查找目录或文件

    查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print 如果需要更进一步的了解,可以参看Linux的命令 ...

  3. Linux 第六天

    1)locate 在文件资料库中查找文件(需要文件资料库中有,新建的文件查不到,需要手动更新,updatedb.查不到/tmp目录下的文件) 语法:locate 文件名 常用选项: -i:无视大小写查 ...

  4. 秒杀系统-web

    秒杀系统Web层主要涉及前端交互设计.Restful:url满足Restful设计规范.Spring MVC.bootstrap+jquery这四个方面的开发.秒杀系统的前端交互流程设计如下图6-3所 ...

  5. _ZNote_Mac_技巧_QuickLook功能扩展

    QuicLook(快速查看)是macOS一项非常方便的独有功能: 当选中一个文件,只需要按下空格键即可查看其内容,在按下空格退出QuickLook, 不需要启动再关闭任何软件. 默认支持大部分视频.音 ...

  6. <Listener>HttpSessionListener和HttpSessionAttributeListener区别

    一.HttpSessionListener HttpSessionListener是对Session的一个监听,主要监听关于Session的两个事件,即初始化和销毁.HttpSessionListen ...

  7. NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成

    本篇内容属于非实用性(拿来即用)介绍,如对框架设计没兴趣的朋友,请略过. 快一个月没有写博文了,最近忙着两件事;    一:阅读刘墉先生的<说话的魅力>,以一种微妙的,你我大家都会经常遇见 ...

  8. [算法专题] 深度优先搜索&回溯剪枝

    1. Palindrome Partitioning https://leetcode.com/problems/palindrome-partitioning/ Given a string s, ...

  9. 如何减少SQL Server中的PREEMPTIVE_OS_WRITEFILEGATHER等待类型

    在数据库大小分配期间,我正在等待类型PREEMPTIVE_OS_WRITEFILEGATHER.昨天,我将数据库大小配置为供应商建议的值.我们需要将数据库大小设置为700GB,保留150 GB的日志文 ...

  10. Thinking in Java from Chapter 10

    From Thinking in Java 4th Edition 内部类 public class Parcel1 { class Contents { private int i = 11; pu ...