02 2025 档案
摘要:某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性,由于当前用户规模不大,业务也相对简单,系统性能方面不做过多考虑。新系统除了保持现有的四级固定会员制度外,还需要根据用户的消费金额、偏好、重复
阅读全文
摘要:《架构漫谈》系列文章观后感 在阅读了王概凯老师《架构漫谈》系列的八篇文章后,我仿佛经历了一场关于软件架构的深度思想之旅,对架构的本质、设计原则、实践方法以及架构师的角色定位等多方面都有了更为深刻和全面的认识。 一、架构的本质与基础 架构,这个在软件开发领域频繁出现的词汇,究竟为何物?在《架构漫谈(一
阅读全文
摘要:一. 单选题(共6题,60分) 1. (单选题)大数据所带来的思维变革不包括 A. 不是精确性而是混杂性 B. 不是因果关系而是相关关系 C. 不是歧视而是平等 D. 不是随机样本而是全体数据 我的答案:C:不是歧视而是平等;正确答案:C:不是歧视而是平等; 10分 2. (单选题)当前大数据技术的
阅读全文
摘要:课前测试主要是对一部分数据清洗,然后使用hive注入数据后 清洗成需要的格式 然后根据要求统计出需要的数据 然后使用sqoop将hive中统计出来的数据传递到本地mysql数据库中, sqoop export \ --connect jdbc:mysql://10.99.116.113:3306/e
阅读全文
摘要:今天进行了软件体系结构的课前测试。 1、什么是架构? 把一个整体(完成人类生存的所有工作)切分成不同的部分(分工),由不同角色来完成这些分工,并通过建立不同部分相互沟通的机制,使得这些部分能够有机的结合为一个整体,并完成这个整体所需要的所有活动,这就是架构。 2、为什么要出现架构? 一切都是为了满足
阅读全文
摘要:三、实验内容和要求 1.安装 Hadoop 和 Spark 进入 Linux 系统,参照本教程官网“实验指南”栏目的“Hadoop 的安装和使用”,完 成 Hadoop 伪分布式模式的安装。完成 Hadoop 的安装以后,再安装 Spark(Local 模式)。 2.HDFS 常用操作 使用 had
阅读全文
摘要:三、实验内容和要求 1. 计算级数 请用脚本的方式编程计算并输出下列级数的前 n 项之和 Sn,直到 Sn 刚好大于或等于 q 为止,其中 q 为大于 0 的整数,其值通过键盘输入。 2 3 4 1 1 2 3 n n n S 例 如 , 若 q 的 值 为 50.0 , 则
阅读全文
摘要:三、实验内容和要求 1.安装 Linux 虚拟机 请登录 Windows 系统,下载 VirtualBox 软件和 Ubuntu16.04 镜像文件。 VirtualBox 软件的下载地址:https://www.virtualbox.org/wiki/Downloads。 Ubuntu16.04
阅读全文
摘要:IterableIterable 表示一个可以迭代的集合,它继承了 Travsersable 特质,同时也是其他集合的父特质。它定义了获取迭代器的方法,这是一个抽象方法。 遍历集合示例: def main(args: Array[String]): Unit = { val list = List(
阅读全文
摘要:集合分类: 可变集合 线程不安全 集合本身可以动态变化,且可变集合提供了改变集合内元素而都方法。 scala.collection.mutable //需要手动导包不可变集合 线程安全 默认类库,集合内的元素一旦初始化完成就不可再进行更改,任何对集合的改变都将生成一个新的集合。 scala.coll
阅读全文
摘要:泛型泛型泛型的意思是 泛指某种具体的数据类型,在 Scala 中泛型用 [数据类型] 表示。 泛型方法 示例,定义一个泛型方法,获取任意数据类型的中间元素 def getMiddleElement[T](array: Array[T]): T = {array(array.length / 2)}泛
阅读全文
摘要:递归递归就是方法自己调用自己 示例:求阶乘 object ClassDemo { def f(n: Int): Int = if(n == 1) n else n * f(n - 1) def main(args: Array[String]): Unit = { println(f(5)) } }
阅读全文
摘要:隐式转换和隐式参数隐式转换隐式转换指用 implicit 关键字 声明的带有 单个参数 的方法。该方法是被自动调用的,用来实现自动将某种类型的数据转换为另一种类型的数据。 示例:手动导入 通过隐式转换,让 File 类的对象具有 read 功能。 执行流程:file对象没有read方法 -> 有隐式
阅读全文
摘要:数据的读写读取数据在 Source 单例对象中提供了一些获取数据的方法。 按行读取以行为单位,返回值是一个迭代器类型的对象,通过toArray、toList方法将数据放到数组或列表。 def main(args: Array[String]): Unit = { //创建 Source 对象,关联数
阅读全文
摘要:匹配样例类要匹配的对象必须声明为 Any。 格式: 对象名 match{ case 样例类型1(字段1, 字段2..) => 表达式1 case 样例类型2(字段1, 字段2..) => 表达式2 case 样例类型3(字段1, 字段2..) => 表达式3 case _ => 表达式4 //默认项
阅读全文
摘要:模式匹配、偏函数、异常、提取器模式匹配作用:判断固定值、类型查询、快速获取数据 简单模式匹配格式: 变量 match{ case 常量1 => 表达式1 case 常量2 => 表达式2 case 常量3 => 表达式3 case _ => 表达式4 //默认项}示例: def main(args:
阅读全文
摘要:集不可变集特点:唯一、无序 语法: //创建空的不可变集val/var 变量名 = Set[类型]() //指定元素val/var 变量名 = Set(元素1, 元素2...)常用操作: size 获取大小遍历操作和数组一致+ 添加元素,生成一个新的 Set++ 拼接集或列表,生成一个新的 Set-
阅读全文
摘要:数据结构数组定长数组语法: val/var 变量名 = new Array[元素类型](数组长度)val/var 变量名 = new Array(元素1, 元素2 ...)示例: def main(args: Array[String]): Unit = { val arr = new Array[
阅读全文
摘要:包包包就是文件夹,用 package 修饰,可以区分重名类。 作用域: 子包可以直接访问父包中的内容。 上层访问下层内容时,可以通过导包(import)或者写全包名的形式实现。 如果上下层有相同的类,使用时采用就近原则(优先使用下层)。 包对象: 要定义在父包中,一般用于对包的功能进行补充、增强。
阅读全文
摘要:trait 构造机制每个特质只有一个无参构造器 遇到一个类继承另一个类以及多个trait的情况,创建该类实例时构造器执行顺序: 执行父类构造器从左到右依次执行 trait 的构造器如果trait 有父 trait,先执行父 trait如果多个 trait 有相同的父 trait,父 trait 构造
阅读全文
摘要:特质概述Scala 中的特质要用关键字 trait 修饰。 特点: 特质可以提高代码的复用性。特质可以提高代码的扩展性和可维护性。类与特质是继承关系,类与类只支持单继承,类与特质之间可以单继承也可以多继承。Scala 的特质中可以有普通字段、抽象字段、普通方法、抽象方法。如果特质只有抽象内容也叫瘦接
阅读全文
摘要:apply 方法可以在创建对象时免去 new 操作,格式: object 伴生对象名{ def apply(参数名:参数类型...) = new 类(...)}示例: object ClassDemo { //半生类 class Person(name:String, age:Int){ } //伴
阅读全文
摘要:构造器主构造器语法: class 类名(var/val 参数名:类型 = 默认值,...){ //构造代码块}示例: object ClassDemo { class Person(var name:String = "sjh",var age:Int = 24){ } def main(args:
阅读全文
摘要:函数Scala 支持函数式编程,Spark/Flink 程序会大量使用函数。 定义val 函数变量名 = (参数名1:参数类型1, 参数名2:参数类型2...) => 函数体函数是一个对象 类似于方法,函数也有参数列表和返回值 函数定义不需要使用 def 定义 无需指定返回值类型 示例:定义一个计算
阅读全文
摘要:方法和函数方法语法格式: def 方法名(参数名1:参数类型1, 参数名2:参数类型2...)[: 返回值类型] = { //方法体}123注意: 参数列表的参数类型不能省略返回值类型可以省略,由 Scala 编译器自动推断返回值可以不写 return ,默认就是块表达式的值示例:定义一个方法用来获
阅读全文
摘要:while 循环格式: 初始化条件while(判断条件){ //循环体 //控制条件}12345例如:打印 1-5 的数字 scala> var i = 1i: Int = 1 scala> while(i <= 5){ | println(i) | i += 1 | }12345123456789
阅读全文
摘要:键盘录入使用步骤: 导包 import scala.io.StdIn1通过 stdIn.readXxx() 接收用户键盘录入的数据 接收字符串数据: StdIn.readLine()1接收整数数据: StdIn.readInt()1示例:提示用户输入字符串 scala> import scala.i
阅读全文
摘要:数据类型Scala 也是一门强类型语言,它里面的数据类型绝大多数与 Java 一样。 基础类型 类型说明Byte 8 位带符号整数Short 16 位带符号整数Int 32 位带符号整数Long 64 位带符号整数Char 16 位无符号 Unicode 字符String Char 类型的序列,字符
阅读全文
摘要:基本语法输出和分号换行输出: println(1,2,3)1不换行输出: print(1,2,3)1注意:可以同时打印多个值,使用逗号隔开。 println("hello scala")//单行分号可以不写println("hello"); println("scala")//多行代码写在一行中间分
阅读全文
摘要:Scala 语言学习笔记概述Scala 简介: Scala 是一门基于 JVM 的多范式编程语言,通俗的说:Scala 是一种运行在 JVM 上的函数式的面向对象语言,之所以这样命名是因为它的设计目标是:随着用户的需求一起成长。Scala 可被广泛应用于各种编程任务,从编写小型的脚本到构建巨型系统都
阅读全文