SCALA - 技术教程文章

Scala中的apply方法【代码】【图】

1.apply的场景 Scala中实例化一个类,可以不用new , 其原因 其实就是 apply 方法,具体原因 后边再讲: 在上句中Scala 生成Array对象, 会自动去调用 Array 这个伴生对象的 伴生类中的apply方法, 2.先来看下apply方法的调用约定: 即 如果我们让一个类的实例化对象 或者一个单例对象,后边直接跟一个小括号并在括号中传递参数, eg: 类实例(参数) 或 单例对象(参数) , 这种写法出现时,Scala会自动在该对象中 查...

Scala集合之Map【代码】【图】

Map 特质也包含了多个可变和不可变的具体实现类。 生成键值对 scala> val t="a"->1 val t: (String, Int) = (a,1)scala> val t2=("a",1) val t2: (String, Int) = (a,1)scala> val t3=Tuple2("a",1) val t3: (String, Int) = (a,1) 初始化 val m =Map(t)根据键值查找值 apply get getOrElse withDefault withDefaultValue getOrElseUpdate scala> val m=Map("a"->1,"b"->2,"c"->3) val m: scala.collection.immutable.Map[String,I...

scala的至简原则【代码】

1)至简原则细节 (1)return可以省略,Scala会使用函数体的最后一行代码作为返回值 (2)如果函数体只有一行代码,可以省略花括号 (3)返回值类型如果能够推断出来,那么可以省略(:和返回值类型一起省略) (4)如果有return,则不能省略返回值类型,必须指定 (5)如果函数明确声明unit,那么即使函数体中使用return关键字也不起作用 (6)Scala如果期望是无返回值类型,可以省略等号 (7)如果函数无参,但是声明了参数列表,...

Scala高阶函数以及Scala collection【图】

Scala高阶函数以及Scala collection Scala Collection Scala提供了一套很好的集合实现,提供了一些集合类型的抽象。Scala 集合分为不可变(immutable)的集合和可变(mutable)的集合。 数组Array 对于数组的使用,若想调用数组提供的方法,我们需要使用 import Array._ 引入包List链表Set Scala Set(集合)是没有重复的对象集合,所有的元素都是唯一的。Scala 集合分为可变的和不可变的集合。默认情况下,Scala 使用的是不可变集合...

弹性文件服务(Scalable File Service,SFS)【图】

弹性文件服务(Scalable File Service,SFS)弹性文件服务(Scalable File Service,SFS)提供按需扩展的高性能文件存储(NAS),可为云上多个弹性云服务器(Elastic Cloud Server,ECS),容器(CCE&CCI),裸金属服务器(BMS)提供共享访问。如 图1 所示。 图1 访问弹性文件服务 与传统的文件共享存储相比,弹性文件服务具有以下优势:文件共享同一区域跨多个可用区的云服务器可以访问同一文件系统,实现多台云...

Scala集合——Set【代码】

Set集合 不可变 val set =Set(1,2,3,4,1,2,3) (1)Set默认是不可变集合,数据无序 (2)数据不可重复 可变 import scala.collection.mutable val set1= mutable.Set(1,2,3) object Demo07Set {def main(args: Array[String]): Unit = {//set不可变val set =Set(1,2,3,4,1,2,3)println(set)println(set + 5) //向set中添加数据println(set)set.size //集合大小set.toList.sorted //先转化为list集合再升序排序set.toArray //转...

Scala 入门3(类、Trait、模式匹配、正则、异常、提取器、IO)【代码】

文章目录 1. 类和对象2. Trait3. 模式匹配4. 正则5. 异常处理6. 提取器7. 文件 IO学自 https://www.runoob.com/scala/scala-tutorial.html 1. 类和对象 object myClass {import java.io._class Point(xc : Int, yc : Int){var x : Int = xcvar y : Int = ycdef move(dx:Int, dy:Int): Unit ={x += dxy += dyprintln("x : " + x)println("y : " + y)}}// 继承,只能单继承class Piont3D( val xc : Int, val yc : Int,val zc : Int) e...

Scala安装及环境配置与Inellij IDEA 上的开发环境配置【图】

Scala安装及环境配置与Inellij IDEA 上的开发环境配置 Scala安装及环境配置Inellij IDEA 上的开发环境配置 Scala安装及环境配置 1、Java(JDK)环境配置,详见 Java(JDK)环境 2、从 Scala 官网下载安装包:https://downloads.lightbend.com/scala/2.13.5/scala-2.13.5.msi 3、双击开始一步一步的安装; 6、开始安装吧; 7、安装完成; 8、接着需要设置系统环境变量; 右击【我的电脑】–【属性】–【高级系统设置】–【环...

Frangipani: A Scalable Distributed File System 论文阅读【图】

Frangipani是一篇1997年“分布式文件系统”的论文,其中关于缓存一致性,分布式事务和分布式故障恢复的简单并且优秀的设计思想,依旧值得我们学习和借鉴 本文将按照以下几个方面透彻介绍Frangipani的方方面面 目录一、Background1.历史背景2.技术背景二、System Structure1.架构图2.两层设计3.Frangipani file system4.安全性考虑三、 Disk Layout1.Layout2.details四、 The Lock Service1.features2.架构3.锁的划分4.实现五、Cach...

QueryPlanningTracker.scala【代码】

/** *一个简单的实用工具,用于跟踪查询规划中的运行时和相关统计信息 *我们追踪两个不同的概念: *1阶段:这些是查询规划中的大范围阶段,如下所示,即分析、优化和物理规划(仅规划)。 *2规则:这些是我们跟踪的单个催化剂规则。除了时间,我们还跟踪调用的数量和有效调用。 */伴生对象: object QueryPlanningTracker {val PARSING = "parsing"val ANALYSIS = "analysis"val OPTIMIZATION = "optimization"val PLANNING = "plan...

弹性文件服务(Scalable File Service,SFS)【图】

弹性文件服务(Scalable File Service,SFS)弹性文件服务(Scalable File Service,SFS)提供按需扩展的高性能文件存储(NAS),可为云上多个弹性云服务器(Elastic Cloud Server,ECS),容器(CCE&CCI),裸金属服务器(BMS)提供共享访问。如 图1 所示。 图1 访问弹性文件服务 与传统的文件共享存储相比,弹性文件服务具有以下优势:文件共享同一区域跨多个可用区的云服务器可以访问同一文件系统,实现多台云服...

Scala面向对象练习题34道

1、创建一个名字为Test01的Object,在Test01中 定义一个student1类 声明三个成员变量,String类型的name,Int 类型的age,String类型的address 2、创建一个名字为Test02的Object,在Test02中 定义一个student2类 声明三个成员变量,String类型的name,Int 类型的age,String类型的address 定义成员方法hello(s:String),方法中打印出s 3、创建一个名字为Test03的Object,在Test03中 定义一个student3类 声明三个成员变量,String类型的...

win10本地scala和spark安装【图】

安装scala 1.确定已经安装jdk1.8或以上版本2.下载win版本的scala 下载地址: https://www.scala-lang.org/download/ 下载下来后,解压到相应的文件夹(注意:不能在中文路径下) 配置SCALA_HOME 配置path路径 打开cmd 输入scala, 出现如下信息,证明安装成功 安装spark spark下载地址: https://spark.apache.org/downloads.html 下载完成以后解压解压到本地磁盘路径 注意:路径名称中不能还有空格和汉字(包括特殊符号)配置环...

IDEA下 Scala 安装 使用【图】

Scala 安装 使用1.安装Scala插件 Setting--->Plugins--->搜索Scala--->install--->安装完成 或者线上安装不成功/网速太慢,太卡 这里下载https://plugins.jetbrains.com/plugin/1347-scala插件包 离线安装插件 .zip格式的scala插件放到Intellij的安装的plugins目录下(不用解压)创建一个scala示例 参照https://www.jetbrains.com/help/idea/2017.1/creating-and-running-your-scala-application.html 第一次创建,没有scala SDK,需...

Scala入门及安装【代码】【图】

Scala入门及安装 Scala的介绍 Scala的官网:https://www.scala-lang.org/ 在这里插入图片描述 Scala是一门集成了面向对象编程和面向函数式编程的高级语言Scala通过静态类型避免复杂程序中的bugScala基于JVM可以实现简单的访问高性能的JVM生态圈 Scala的定义Scala是一个基于JVM的多范式编程语言 多范式:面向对象 + 函数式编程基于JVM:可移植性非常好 所写的代码最终也是编译为.class文件放在JVM中运行Scala可以无缝的与Java的API库...

使用scala的map集合实现数据的排序【代码】【图】

我有4w条mysql数据,我想找出其中含有维也纳酒店的字段,再通过逆序排列 用scala很容易实现 import java.sql.{Connection, DriverManager} import scala.:+ import scala.collection.mutable import scala.collection.mutable.{ArrayBuffer, ListBuffer}object test1 {def main(args: Array[String]): Unit = {// 访问本地MySQL服务器,通过3306端口访问mysql数据库val url = "jdbc:mysql://localhost:3306/user?useUnicode=true&c...

Flink中使用Scala编写出现(...)错误【图】

A1 报错A2 原因 没有导入相应包 A3 解决 在算子前添加 import org.apache.flink.api.scala._

scala机器学习-保险预测-第一节【代码】

spark好久不用先熟悉一下sql的api package com.wtx.job014import org.apache.spark.sql.SparkSessionobject demo2 {def main(args: Array[String]): Unit = {val train = "file:\\C:\\Users\\86183\\Desktop\\scala_machine_leraning_projects\\ScalaMachineLearningData\\train.csv"val test = "file:\\C:\\Users\\86183\\Desktop\\scala_machine_leraning_projects\\ScalaMachineLearningData\\test.csv"val spark: SparkSession...

Scala的基本语法

一、基本概念 Scala中一共是39个关键字: package, import, class, object, trait, extends, with, for,private, protected, abstract, sealed, final, implicit, lazy, override,try, catch, finally, throw ,if, else, match, case, do, while, return, yield,def, val, var ,this, super,new,true, false, null标识符的命名规则: 可以由字母、数字、_和$组成,虽然可以使用_,但是尽量减少使用_数字不能开头可以由特殊字...

Scala第五章节【代码】

文章目录 Scala第五章节章节目标1. 方法1.1 概述1.2 语法格式1.3 示例1.4 返回值类型推断1.5 惰性方法1.6 方法参数1.6.1 默认参数1.6.2 带名参数1.6.3 变长参数 1.7 方法调用方式1.7.1 后缀调用法1.7.2 中缀调用法1.7.3 花括号调用法1.7.4 无括号调用法2. 函数2.1 定义函数2.2 示例2.3 方法和函数的区别2.4 方法转换为函数 3. 案例: 打印nn乘法表3.1 需求3.2 目的3.3 步骤3.4 参考代码Scala第五章节 章节目标 掌握方法的格式和用法...

win 安装scala【图】

记录win安装scala1 本机环境 win 10 专业版需要安装scala 2.11.12 下载安装 找自己需要的版本 https://www.scala-lang.org/download/all.html 例如我需要 2.11.11 下载 安装,全程下一步下一步(安装位置可以自定义) 3 安装配置 配置SCALA_HOME配置 path。找到系统变量下的"Path"如图,单击编辑。在"变量值"一栏的最前面添加如下的路径: %SCALA_HOME%\bin;验证 scala -version

1. Scala简介与环境搭建【代码】【图】

1. Scala简介与环境搭建 1.1 概述 ? Scala(斯嘎拉)这个名字来源于"Scalable Language(可伸缩的语言)", 它是一门基于JVM的多范式编程语言, 通俗的说: Scala是一种运行在JVM上的函数式的面向对象语言. 之所以这样命名, 是因为它的设计目标是: 随着用户的需求一起成长. Scala可被广泛应用于各种编程任务, 从编写小型的脚本到构建巨型系统, 它都能胜任. 正因如此, Scala得以提供一些出众的特性, 例如: 它集成了面向对象编程和面向函数式...