scala复习

目标1:(初级)熟练使用scala编写Spark程序 目标2:(中级)动手编写一个简易Spark通信框架 目标3:(高级)为阅读Spark内核源码做准备2.Scala概述2.1.什么是Scala编程语言,java shell javascript函数式编程:函数式编程是一种编程思想,主要的思想把运算过程尽量写成一系列的函数调用。Scala是一种多范式的编程语言,其设计的初衷是...
摘要由CSDN通过智能技术生成

 
 目标1:(初级)熟练使用scala编写Spark程序
 目标2:(中级)动手编写一个简易Spark通信框架
 目标3:(高级)为阅读Spark内核源码做准备
2.Scala概述
2.1.什么是Scala
编程语言,java shell javascript
函数式编程:
函数式编程是一种编程思想,主要的思想把运算过程尽量写成一系列的函数调用。
Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。
scala之父:Martin Odersky
Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。
scala是对java的进一步封装,基于java来开发的。
.class
也就是说,scala的代码最终会被编译为字节码文件,并运行在jvm上。

2.2.为什么要学Scala
1.优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。
2.速度快:Scala语言表达能力强,一行代码抵得上Java多行,开发速度快;Scala是静态编译的,所以和JRuby,Groovy比起来速度会快很多。
scala语言风格简洁,也很可能降低了可读性,所以学习及以后开发过程中,都需要有良好的代码规范。
3. 能融合到Hadoop生态圈:Hadoop现在是大数据事实标准,Spark并不是要取代Hadoop,而是要完善Hadoop生态。JVM语言大部分可能会想到Java,但Java做出来的API太丑,或者想实现一个优雅的API太费劲。 

4,Spark的开发语言,掌握好scala,就能更轻松的学好spark。
spark: scala  java  python  R
2.3.Spark函数式编程初体验Spark-Shell之WordCount

Q1: 对上述文件内容使用Spark进行单词个数统计?

Q2: 对上述输出结果进行降序 ?

注:上述代码,暂不需要练习

3.Scala开发环境
3.1.安装JDK
因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK
使用 # java -version 来验证
确保已安装jdk1.8+
3.2.安装Scala
3.2.1.Windows安装Scala编译器
访问Scala官网http://scala-lang.org/download/2.11.8.html 下载Scala编译器安装包,目前最新版本是2.12.x,但是目前大多数的框架都是用2.11.x编写开发的,Spark2.x使用的就是2.11.x,所以本课程使用2.11.x版本
安装方式一:下载scala-2.11.8.msi后双击打开一路next运行安装。
安装方式二:直接使用免安装版的,解压即可。

安装完成之后,配置环境变量SCALA_HOME和PATH:
 
可以在cmd窗口下验证: 输入scala -version 查看scala版本

输入scala 可进入scala shell交互模式

输入:q 或:quit退出scala交互命令行。
该交互模式,有一个高大上的名称:REPL
Read Evaluate Print Loop
(读取-求值-打印-循环)
3.2.2.Linux中安装Scala编译器
下载Scala地址https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
1,上传并解压Scala到指定目录
# tar -zxvf scala-2.11.8.tgz -C /usr/local/
2,创建一个软连接(可选项)
# ln -s   源文件目录  软连接目录
# ln -s /usr/local/scala-2.11.8 /usr/local/scala
3,配置环境变量,将scala加入到PATH中
# vi /etc/profile
export SCALA_HOME=/usr/local/scala
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin

3.3.Linux下运行第一个scala程序
3.3.1.代码编写:
public class Test{
public static void main(String [] args){
System.out.println(“hello world”);
}}
# vim ScalaTest
object ScalaTest {
def main(args: Array[String]) :Unit={
println("hello scala")
}
}
3.3.2.代码编译:
# scalac ScalaTest
3.3.3.代码运行:
# scala ScalaTest


运行流程(类似于java):
先编译(scalac),再执行(scala)
scala中,不强制要求源文件和类名一致。
3.4.IDEA安装
目前Scala的开发工具主要有两种:Eclipse和IDEA,这两个开发工具都有相应的Scala插件,如果使用Eclipse,直接到官网下载即可
http://scala-ide.org/download/sdk.html  不推荐使用该种方式

IDEA的Scala插件更优秀,有逼格的Spark攻城狮都选择IDEA(只需一次,就会爱上她)
下载地址:http://www.jetbrains.com/idea/download/
下载社区免费版,点击下一步安装即可,安装时如果有网络可以选择在线安装Scala插件。这里我们使用离线安装Scala插件:

1.安装IDEA,点击下一步即可。由于我们离线安装插件,所以点击Skip All and Set Default
2.下载IEDA的scala插件,地址http://plugins.jetbrains.c
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值