Scala的安装和使用方法
① 在Linux系统中安装Scala;
② 使用Scala REPL;
③ 编译打包Scala程序代码。
实验原理->
Scala
Scala于2004年1月公开发布1.0版本,目前仍处于快速发展阶段,每隔几个月就有新的版本发布。Spark从2.0版本开始都采用Scala2.11编译,因为本教程使用的Spark版本是2.1.0,其对应的Scala版本是2.11.8,所以,本教程中的Scala选用2017年4月发布的2.11.8版本。Scala运行在Java虚拟机(JVM)之上,因此只要安装有相应的Java虚拟机,所有的操作系统都可以运行Scala程序,包括Window、Linux、Unix、Mac OS等。
->Scala REPL
开始学习Scala的最简单的方法是使用Scala REPL(REPL是Read、Eval、Print、Loop的缩写)。与Python及Matlab等语言的解释器一样,Scala REPL是一个运行Scala表达式和程序的交互式Shell,在REPL里输入一个表达式,它将计算这个表达式并打印结果值。
1. 在Ubuntu系统中安装Scala
打开火狐浏览器,
访问如下链接下载scala安装包拷贝代码http://file.ictedu.com/fileserver/big_data_common/data/scala-2.11.8.tgz
下载后的安装包存放在/home/user/Downloads目录下

∥ 对安装文件进行解压缩
打开terminal,登录hadoop用户:su - hadoop
将scala-2.11.8.tgz解压到Linux系统的本地文件夹下,例如/usr/local,命令如下:
拷贝代码
sudo tar -zxf /home/user/Downloads/scala-2.11.8.tgz -C /usr/local

这时会在该目录下生生成一个新的文件夹scala-2.11.8,编译器及各种库文件即位于该文件夹下,为以后启动Scala方便,可以把scala-2.11.8重命名为scala,并建议将其下的bin目录添加到PATH环境变量。

∥ 设置目录权限
将文件夹名改为hadoop
拷贝代码
cd /usr/local
sudo mv ./scala-2.11.8 ./scala
修改文件权限
拷贝代码
sudo chown -R hadoop ./scala

∥ 检验是否安装正确
在终端(即Linux Shell环境)中运行“scala -version”查看是否正确安装,如果已经正确安装,则会显示Scala编译器的版本信息。

拷贝代码
cd /usr/local/scala
./bin/scala -version

2. Scala REPL使用方法
∥ 启动进入Scala REPL交互式环境
开始学习Scala的最简单的方法是使用Scala REPL(REPL是Read、Eval、Print、Loop的缩写)。与Python及Matlab等语言的解释器一样,Scala REPL是一个运行Scala表达式和程序的交互式Shell,在REPL里输入一个表达式,它将计算这个表达式并打印结果值。在Linux系统中打开一个终端(可以使用快捷键Ctrl+Alt+T),输入如下命令启动Scala REPL:
#这是Scala的安装目录

拷贝代码
cd /usr/local/scala
./bin/scala

正常启动后,终端将出现“scala>”提示符,

此时即可输入Scala表达式,默认情况下一行代表一个表达式或语句,回车后scala即运行该语句或表达式并提示结果,如果一条语句需要占用多行,只需要在一行以一个不能合法作为语句结尾的字符结束(比如句点或未封闭的括号与引号中间的字符),则REPL会自动在下一行以“|”开头,提示用户继续输入。下图是几个输入的示例,其中,关于函数show()的定义语句占用了多行。


∥ 调试代码文件
重新开启终端

使用Hadoop用户,输入hadoop密码

拷贝代码
su - hadoop

直接在解释器里编写程序,一次只能运行一行。如果想运行多行,可以用脚本的方式运行,只需要将多行程序保存为文本文件,然后在Linux Shell中用“scala 文件名”这种命令形式来运行即可,或者在Scala解释器终端用“:load 文件名”的形式装载执行。下面请在Linux系统中打开一个终端,在“/usr/local/scala/”目录下创建一个mycode子目录,在mycode目录下,使用文本编辑器(比如vim)创建一个代码文件Test.scala。Test.scala的内容如下:

拷贝代码
mkdir /usr/local/scala/mycode

创建代码文件/usr/local/scala/mycode/Test.scala

拷贝代码
vi /usr/local/scala/mycode/Test.scala
进入vim编辑器后按a进入编辑模式,输入如下代码文件

拷贝代码
println(“This is the first line”)
println(“This is the second line”)
println(“This is the third line”)
然后,可以在Scala REPL中执行如下命令运行该代码文件:

拷贝代码
:load /usr/local/scala/mycode/Test.scala

Loading /usr/local/scala/mycod
e/Test.scala…
This is the first line
This is the second line
This is the third line


3. 编译打包Scala代码
除了使用Scala解释器运行Scala程序之外,还可以通过编译打包的方式运行Scala程序。

∥ 配置scala环境变量

拷贝代码
vim ~/.bashrc
在最后一行输入以下内容:

拷贝代码
export SCALA_HOME=/usr/local/scala
export PATH= S C A L A H O M E / b i n : SCALA_HOME/bin: SCALAH​OME/bin:PATH

使配置生效

拷贝代码
source ~/.bashrc

∥ 创建代码文件
首先,在/usr/local/scala/mycode目录创建一个代码文件HelloWorld.scala,
内容如下:
拷贝代码//代码文件为object HelloWorld { def main(args: Array[String]) { println(“Hello, world!”); }}
使用如下命令对代码文件HelloWorld.scala进行编译:
拷贝代码cd /usr/local/scala/mycodescalac HelloWorld.scala
编译成功后,

将会生成HelloWorld$.class及HelloWorld.class两个文件,其文件名即为程序中用object关键字定义的对象名,后一个文件即是可以在Java虚拟机上运行的字节码文件。然后可以使用如下命令运行该程序:拷贝代码scala -classpath . HelloWorld注意,上面命令中一定要加入“-classpath .”,否则可能会出现“No such file or class on classpath: HelloWorld”错误。可以看出,这与编译和运行Java的“Hello World”程序非常类似,事实上,Scala的编译和执行模型与Java是等效的,上面编译后的字节码文件也可以直接用Java执行,命令如下:
拷贝代码java -classpath .:/usr/local/scala/lib/scala-library.jar HelloWorld其中,scala-library.jar为Scala类库。

实验结论到这里,在Ubuntu系统上安装和使用Scala已经学习完毕了。回顾一下,通过本实验,掌握了哪些知识?
在实验中遇到了哪些问题,这些问题是如何解决的。

2.Scala的安装和使用方法(华为云学习笔记,Spark编程基础,大数据)相关推荐

  1. 2.安装组件客户端程序(华为云学习笔记,HCIP,大数据)2022.6.6

    实验拓扑图 大数据开发机 大数据数据节点 大数据管理节点 大数据控制节点 安装组件客户端程序 在FusionInsight HD中,大多数组件都提供了命令行客户端,此实验指导用户如何下载单个组件和所有 ...

  2. 1.FI管理页面的登录及环境介绍(华为云学习笔记,HCIP,大数据)2022.6.6

    实验拓扑图 大数据开发机(Ubantu) 大数据数据节点 大数据管理节点 大数据控制节点 FI管理页面的登录及环境介绍 此实验指导用户如何登录 FusionInsight HD 的 web 管理界面, ...

  3. 1.Hadoop的安装和使用(华为云学习笔记,Spark编程基础,大数据)

    此笔记为第一篇,学校开放华为云平台,帮助我们学习有关大数据方面相关知识的学习笔记,因为是云平台,是已经搭建好linux环境了,使用的是Ubantu.精心整理,自学笔记,如有什么问题,请耐心指正 Had ...

  4. 华为HCIA-datacom 学习笔记17——IPv6基础

    华为HCIA-datacom 学习笔记17--IPv6基础 IPv6基础 1.ipv4与ipv6 地址长度32bit IPv6:IP地址长度128bit IPv4包头(20byte~60byte) I ...

  5. 3.Spark的安装(华为云学习笔记,Spark编程基础,大数据)

    Spark的安装 ① 在Linux系统中安装Spark: ② 运行Spark自带实例. 实验原理 -> Spark Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎.Sp ...

  6. 华为云学习笔记-弹性云服务器

    什么是弹性云服务器? 弹性云服务器(Elastic Cloud Server,ECS)是由CPU.内存.操作系统.云硬盘组成的基础的计算组件.弹性云服务器创建成功后,您就可以像使用自己的本地PC或物理 ...

  7. 华为云FusionInsight MRS容灾:大数据两地三中心的容灾也可以如此省心

    背景介绍 随着数据湖技术从离线向实时的发展,数据湖在业务已逐渐从辅助决策向实时决策,实时干预甚至提前预防的方向发展,同时,随着国家把数据作为第五种生产要素,数据据价值在逐步提升,这样对海量数据湖的可靠 ...

  8. 7.读写HBase数据(华为云学习笔记,Spark编程基础,大数据)

    读写HBase数据 ① 在hbase-shell中使用命令创建HBase数据库: ② 使用Spark读写HBase数据库中的数据. 实验原理 -> HBase HBase是一个高可靠.高性能.面 ...

  9. Java数据库篇_01 数据库设计基础(华为云学习笔记)

    数据库设计 需求分析 概念设计和概念模型 E-R方法 逻辑设计与逻辑模型 逻辑模型的实体 实体中的属性 主键.外键.索引之间的关系 实体间的关系 范式(Normal Form) 逻辑模型建设注意事项 ...

最新文章

  1. Django博客系统(博客保存)
  2. java crontriggerbean_spring定时器----CronTriggerBean
  3. 266. Palindrome Permutation
  4. python xlsxwriter合并单元格_Python使用xlsxwriter导出表格并合并单元格
  5. MyBatis(增删改查)
  6. 1年将30PB数据迁移到Spark,eBay的经验有何可借鉴之处?
  7. Radware发布2015-2016年全球应用及网络安全报告
  8. 2018年7月5日笔记
  9. 微软拒绝修复滥用 MSTSC 的安全绕过缺陷
  10. 当有多个设备online时,命令行窗口通过adb连接指定设备方法
  11. 从HTTP的安全问题到HTTPS
  12. 飞书信外贸移动社交自建站系统玩转海外拼团分销
  13. LSF_管理用户、主机和队列_1
  14. 大吉大利今晚吃鸡——枪械篇
  15. 中国首条3D刷脸地铁开通,终于理解数加加众包为啥采集人脸了
  16. 从头搭建DVWA平台
  17. Java第一次实训报告
  18. CSS Hank兼容浏览器的
  19. 女生读计算机还是经济学,女生最吃香的十大专业你知道是什么吗?女生一定要懂...
  20. android tools是干什么的,Android 冷兵器 之 tools

热门文章

  1. html转盘游戏,使用Javascript和CSS3实现一个转盘小游戏(实战篇)
  2. PTA 《C语言程序设计(第四版)》 第五章习题【记录】
  3. 2018王者服务器维护,王者荣耀:2018年最后一次更新,大量装备改动,玩法全部迭代!...
  4. 信用评分卡模型稳定度指标PSI
  5. 2022-2027年中国香薰蜡烛行业市场调研及未来发展趋势预测报告
  6. 从“被动挖光缆”到“主动剪网线”,蚂蚁金服异地多活的微服务体系
  7. Docker-Zerotier
  8. 旋转矩阵变换左右手系
  9. 数据看板/商业智能分析仪表盘
  10. QQ宠物冒险岛全攻略