排序
2.1 变量
Scala有两种类型变量:可变的和不可变的。不可变意味着变量的值一旦声明就不能更改。数据不变性帮助在管理数据时实现并发控制。强烈建议不要使用可变变量。Scala作为语言中的第一类公民,高度鼓...
8.3 使用正则表达式处理字符串
字符串中正则表达式模式匹配通过在String上调用.r方法来创建一个scala.util.matching.Regex对象,然后在findFirstIn中使用该模式来查找一个匹配,在findAllIn中使用该模式来查找所有的匹配。 ...
7.6 模式匹配
在前面的章节已经讲了Scala中的简单模式匹配。模式匹配是一个表达式,因此它会导致一个值,该值可能被分配或返回。例如:44 match { case 44 => true // 如果匹配了44,则结果为true...
MySQL8.0_安装和使用文档(Mac版)
注意:必须用系统管理员身份运行mysql安装程序。安装目录切记不要用中文。安装过程出现问题,请查看此文章《MySQL8.0_安装常见问题解决文档》 步骤一:双击mysql8的安装向导步骤二:安装mysql1...
在Spark中实现增量合并(upsert/merge实现)
通常会将大量数据抽取到Hadoop分布式文件系统(HDFS)中进行分析。通常情况下,我们需要用新的变化定期更新这些数据。很长一段时间以来,实现这一目标的最常见方法是使用Apache Hive增量地将新的...
5.14 案例:使用Spark统计连续三周登录的用户数
假设有如下一个用户登录日志表:+------+-------+-------------------+|log_id|user_id| log_time|+------+-------+-------------------+| 1| 1000|2022-03-10 10:08:1...
7.2 单例对象和伴生对象
单例对象在面向对象编程中一个常见的设计模式是定义一个只能被实例化一次的类。一个只能被实例化一次的类叫做“单例(singleton)”。Scala不提供任何静态修饰符,这与构建纯面向对象语言的设计...
5.2 函数方法和函数参数
函数方法也可以使用def关键字来定义有名字的函数。在Scala 中,使用关键字def 定义函数,其语法格式如下:def 函数名(参数1:数据类型,参数2:数据类型):函数返回类型= { 函数体}这种方式,通常...
2.4 数组
Scala语言中提供的数组是用来存储固定大小的同类型元素的。数组的第一个元素索引为0,最后一个元素的索引为元素总数减1。Scala中数组分为定长数组和变长数组。创建定长数组Array的两种方式:先...
5.3 高阶函数
什么是高阶函数?在scala中,函数可以作为参数来传递。下面的代码定义一个接受函数作为参数的函数:// 函数定义def operation(func:(Int, Int) => Int) = { val result = func(4,4) pri...
3.3 简单模式匹配
Scala中没有提供与Java语言中switch类似的语法,但是提供了一个更加强大的模式匹配功能。模式匹配是一个Scala 概念,它看上去与其它语言中的一个switch 语句很类似。不过,它是一个比switch 语...
9.4 创建数值型集合和格式化数值
创建数值型的Range、List和Array有的时候,我们需要创建一个范围、列表或数字数组,用于for循环或测试目的。这时可以使用Int类的to方法创建一个包含所需元素的范围,代码如下:// 创建数值的Ran...
1.3 使用IntelliJ IDEA集成开发环境
在本节中,我们将使用流行的IntelliJ IDEA来展示如何设置编写Scala代码的开发环境。本节包括如下内容:下载IntelliJ IDEA安装IntelliJ IDEA安装Scala插件注意:确保已经安装好了JDK 8+。 下载I...
7.1 类和构造函数
类是一个面向对象编程概念,提供了一个高级编程抽象。从本质上来说,类是代码组织技术,将数据和所有数据的操作绑定在一起。从概念上来说,类代表一个属性和行为的实体。类是在运行时创建对象的...
《Linux 101》在线讲义 #Linux 的基础教程#
本书由中国科学技术大学 Linux 用户协会的数名优秀成员协力编写,用于配套和延展“Linux 101”校内社团活动。其面向 Linux 零基础读者,从计算机操作系统和 Linux 的起源讲起,深入浅出带领读者...