24 Scala 基础

这篇博客详细介绍了Scala的基础知识,包括课程目标、Scala语言的特点、安装配置、基础语法、流程控制、函数与方法、数据结构等内容,旨在帮助读者熟练掌握Scala编程,为编写Spark程序和阅读Spark源码做好准备。
摘要由CSDN通过智能技术生成

Scala 基础

1.课程目标

目标1:熟练使用scala编写Spark程序

在这里插入图片描述
在这里插入图片描述

目标2:动手编写一个简易版的Spark通信框架

在这里插入图片描述

目标3:为阅读Spark内核源码做准备

在这里插入图片描述

2.Scala的基本介绍

scala官方网址:

http://www.scala-lang.org

当前版本2.13.3.使用最多的版本2.11.8
2.10.x系统的版本不兼容2.11.8

2.1 什么是Scala

Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程(OOP)函数式编程(FP)的各种特性。Scala运行于Java平台(JVM)最终需要编译成字节码文件,并兼容现有的Java程序。

2.2 为什么要学Scala

1、优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。

2、速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的,所以和JRuby,Groovy比起来速度会快很多。

3、能融合到Hadoop生态圈:Hadoop现在是大数据事实标准,Spark并不是要取代Hadoop,而是要完善Hadoop生态。JVM语言大部分可能会想到Java,但Java做出来的API太丑,或者想实现一个优雅的API太费劲。

3.Scala编译器安装

3.1 安装JDK

因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK。

3.2 安装Scala

Windows安装Scala编译器

访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,目前最新版本是2.12.x,
这里下载scala-2.11.8.msi后点击下一步就可以了(自动配置上环境变量)。也可以下载scala-2.11.8.zip,
解压后配置上环境变量就可以了。

在这里插入图片描述
在这里插入图片描述
Linux安装Scala编译器

下载Scala地址https://www.scala-lang.org/download/2.11.8.html
然后解压Scala到指定目录
tar -zxvf scala-2.11.8.tgz -C /usr/java
配置环境变量,将scala加入到PATH中
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8 (已经配置过不需要重复配置)
## SCALA_HOME
export SCALA_HOME=/export/servers/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

3.3 安装IDEA中Scala插件

Scala开发工具安装(IDEA离线)

由于IDEA的Scala插件更优秀,大多数Scala程序员都选择IDEA,可以到http://www.jetbrains.com/idea/download/下载,点击下一步安装即可,安装时如果有网络可以选择在线安装Scala插件。
这里我们使用离线安装Scala插件:
1.安装IDEA,点击下一步即可。
2.下载IEDA的scala插件
插件地址: https://plugins.jetbrains.com/plugin/1347-scala
3.安装Scala插件:Configure -> Plugins -> Install plugin from disk -> 选择Scala插件 -> OK -> 重启IDEA

Scala开发工具安装(IDEA在线)

安装Scala插件:Configure -> Plugins -> 搜索Scala -> 在线安装  -> 重启IDEA

3.4 scala的REPL

REPL ==> 交互式解析器环境
R(read)、E(evaluate) 、P(print)、L(loop)
交互式的环境,所见即所得
使用:help查看帮助文档

3.5 创建工程支持scala代码开发

第一步:idea当中创建创建普通maven工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二步:修改pom.xml导入jar包
<dependencies>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.11.8</version>
            <!-- 如果想要用java -jar 来运行我们打包之后的jar包,则下面这个配置必须注释掉 -->
           <!-- <scope>provided</scope>-->
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <!-- 限制jdk版本插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        <!-- 编译scala需要用到的插件 -->
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- 项目打包用到的插件
				将我们一些依赖的jar包,全部都打包到一起去
			 -->
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </desc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值