spark基础学习笔记08:scala简介与安装(代码片段)

howard2005 howard2005     2023-03-09     252

关键词:

文章目录

零、本讲学习目标

  1. 了解Scala语言的特点
  2. 学会搭建Scala开发环境

一、Scala简介

(一)Scala概述

  • Scala是Scalable Language的简写,是一门多范式的编程语言,由联邦理工学院洛桑(EPFL)的Martin Odersky于2001年基于Funnel的工作开始设计,设计初衷是要集成面向对象编程和函数式编程的各种特性。
  • Scala是一种将面向对象和函数式编程结合在一起的高级语言,旨在以简洁、优雅和类型安全的方式表达通用编程模式。Scala功能强大,不仅可以编写简单脚本,还可以构建大型系统。
  • Scala运行于Java平台,Scala程序会通过JVM被编译成class字节码文件,然后在操作系统上运行。其运行时候的性能通常与Java程序不分上下,并且Scala代码可以调用Java方法、继承Java类、实现Java接口等,几乎所有Scala代码都大量使用了Java类库。
  • Scala 是完全兼容Java的,其实Scala就是在Java语言的基础上增加了一层编码的 “壳”,让程序人员可以通过函数式编程的方式来开发程序。由于Scala最终被编译为.class,所以其实本质上还是Java,所以在Scala中可以任意的调用Java的API。好处显而易见:让Jva程序员可以更无障碍的转到Scala;让原先Java的API仍然可以在Scala中使用;公司中的Java平台不用替换就可以使用Scala。

(二)函数式编程

  • 函数式编程:将所有复杂的问题的解决,拆分为若干函数的处理。每一个函数可以去实现一部分功能,利用很多次函数的处理,最终解决问题。

  • 函数式编程相对于面向对象编程,更加的抽象,好处是,代码可以非常的简洁,更多的采用常量而不是变量来解决问题,这样额外带来的好处:在线程并发时,可以减少甚至杜绝多线程并发安全问题,特别适合于应用在处理高并发场景、分布式场景下的问题。函数式编程可以使用高阶函数,函数是一等公民,可以更加灵活的进行程序的编写。

  • 函数式编程并不是面向对象编程的发展,而是另外一种解决问题的思路,两者之间也并没有绝对的好坏之分,在不同的场景中各有各的优缺点。

(三)Scala特性

  • 在很多地方Scala都很像Java,也是静态类型语言,但是比Java更为函数式编程,这句话主要从三句话就可以理解“一切都是对象”,“一切都是函数”以及“一切都是表达式”三方面理解。

1、一切都是对象

  • Scala里一切都是对象,这大概和Python很像,因为即便是数字1都有一系列的方法,所以我们可以调用1.toDoubleInt类型的1转换为Double类型的1

2、一切都是函数

  • 表现为可以重载操作符,跟Python很像,在一定程度上ScalaJavaPython生的孩子,只不过遗传基因比较大的卵子是Java提供的,而比较小的那颗精子则是Python提供的。

3、一切都是表达式

  • Scala里,一切都是表达式,即使像if()else这样的语句块也是有返回值的。

(四)在线运行Scala

  • 通过浏览器访问:Scala在线工具
  • 单击【点击运行】按钮,可以查看代码运行结果
  • 大家可以对照一下JavaHelloWorld程序,两者完全一一对应,相似度极高

二、Windows上安装Scala

(一)到Scala官网下载Scala

三、Linux上安装Scala

spark基础学习笔记12:scala内建控制结构

文章目录零、本讲学习目标一、条件表达式(一)语法格式(二)执行情况(三)案例演示任务1、根据输入值的不同进行判断任务2、编写Scala程序,判断奇偶性二、块表达式(一)语法格式ÿ... 查看详情

spark基础学习笔记13:scala函数(代码片段)

文章目录零、本讲学习目标一、声明函数(一)显式声明函数1、声明格式2、注意事项3、案例演示(二)隐式声明函数1、声明格式2、注意事项3、案例演示二、Scala函数种类(一)成员方法1、基本概念2、... 查看详情

spark基础学习笔记02:搭建spark环境(代码片段)

文章目录零、本讲学习目标一、搭建Spark单机版环境(一)在私有云上创建ied实例(二)修改ied实例的主机名(三)设置IP地址与主机名的映射(四)通过SecureCRT访问ied虚拟机(五)下载、安... 查看详情

spark基础学习笔记09:scala基础(代码片段)

...模式。下面我们将在Scala的命令行操作模式中学习Scala的基础知识。一、变量声明(一)简单说明Scala中变量的声明使用关键字val和var。val类似Java中的final变量,也就是常量,一旦初始化将 查看详情

spark基础学习笔记24:sparksql数据源

文章目录零、本讲学习目标一、基本操作(一)默认数据源1、默认数据源Parquet2、案例演示读取Parquet文件(1)在SparkShell中演示(2)通过Scala程序演示(二)手动指定数据源1、format()与option()方法概... 查看详情

三万字,spark学习笔记

Spark基础Spark特性Spark使用简练优雅的Scala语言编写,基于Scala提供了交互式编程体验,同时提供多种方便易用的API。Spark遵循“一个软件栈满足不同应用场景”的设计理念,逐渐形成了一套完整的生态系统(包括Spar... 查看详情

三万字,spark学习笔记(代码片段)

Spark基础Spark特性Spark使用简练优雅的Scala语言编写,基于Scala提供了交互式编程体验,同时提供多种方便易用的API。Spark遵循“一个软件栈满足不同应用场景”的设计理念,逐渐形成了一套完整的生态系统(包括Spar... 查看详情

spark基础学习笔记14:scala数据结构(代码片段)

文章目录零、本讲学习目标一、数组(Array)(一)定长数组1、数组定义(1)定义数组时初始化数据(2)定义时指定数组长度,后赋值2、数组遍历(1)传统for循环方式(2)增强for循环方... 查看详情

scala简介及基础语法(代码片段)

...变量SCALA_HOME=E: empscala-2.11.8PATH中加入%SCALA_HOME%in;四、Scala基础语法1)Scala程序的开始HelloWorldobjectHelloWorlddefmain(args:Array[String]):Unit=println("Hello,world!")2)Scala的数据类型Scala与java一样,有8种数值类型:Byte/Char/Short/Int/Long/Float/Double/Bo... 查看详情

spark基础学习笔记22:sparkrdd案例分析

文章目录零、本讲学习目标一、案例分析:SparkRDD实现单词计数(一)案例概述(二)实现步骤1、新建Maven管理的Spark项目2、添加Scala和Spark依赖3、创建WordCount对象4、对于程序代码进行解析5、将Spark项目编译和... 查看详情

spark基础学习笔记19:rdd的依赖与stage划分

文章目录零、本讲学习目标一、RDD的依赖(一)窄依赖1、map()与filter()算子2、union()算子3、join()算子(二)宽依赖1、groupBy()算子2、join()算子3、reduceByKey()算子(三)两种依赖的比较零、本讲学习目标理解RDD... 查看详情

spark基础学习笔记21:rdd检查点与共享变量

文章目录零、本讲学习目标一、RDD检查点(一)RDD检查点机制(二)与RDD持久化的区别(三)RDD检查点案例演示二、共享变量(一)广播变量1、默认情况下变量的传递2、使用广播变量时变量的传递... 查看详情

spark基础学习笔记32:sparkstreaming概述

文章目录零、本讲学习目标一、SparkStreaming概述(一)什么是SparkStreaming(二)SparingStreaming的主要优点1、易于使用2、易于与Spark体系整合二、SparkStreaming工作原理(一)SparkStreaming工作流程图(二)... 查看详情

spark基础学习笔记20:rdd持久化存储级别与缓存

文章目录零、本讲学习目标一、RDD持久化(一)引入持久化的必要性(二)案例演示持久化操作1、RDD的依赖关系图2、不采用持久化操作3、采用持久化操作二、存储级别(一)持久化方法的参数(二... 查看详情

大数据处理学习笔记1.1搭建scala开发环境(代码片段)

文章目录零、本讲学习目标一、Scala简介(一)Scala概述(二)函数式编程(三)Scala特性1、一切都是对象2、一切都是函数3、一切都是表达式(四)在线运行Scala二、选择Scala版本三、Windows上安装Sca... 查看详情

spark基础学习笔记07:搭建sparkha集群(代码片段)

文章目录零、本讲学习目标一、SparkHA集群概述二、SparkHA集群架构三、集群角色分配表四、SparkHA集群搭建步骤(一)安装配置ZooKeeper1、在虚拟机master上安装配置ZooKeeper2、在虚拟机slave1上安装配置ZooKeeper3、在虚拟机slave2... 查看详情

2022年spark基础学习笔记

...、Spark学习笔记在OpenStack私有云上创建与配置虚拟机Spark基础学习笔记01:初步了解SparkSpark基础学习笔记02:Spark运行时架构Spark基础学习笔记03:搭建Spark单机版环境Spark基础学习笔记04:搭建Spark伪分布式环境Spark基础学习笔记05:... 查看详情

spark笔记整理:spark单机安装部署分布式集群与ha安装部署+spark源码编译(代码片段)

[TOC]spark单机安装部署1.安装scala解压:tar-zxvfsoft/scala-2.10.5.tgz-Capp/重命名:mvscala-2.10.5/scala配置到环境变量:exportSCALA_HOME=/home/uplooking/app/scalaexportPATH=$PATH:$SCALA_HOME/bin#虽然spark本身自带scala,但还是建议安装2.安装单机 查看详情