Scala入门到精通(尚硅谷学习笔记)章节十——模式匹配 对于Spark来说,Scala的模式匹配功能也是极其重要的,在spark源码中大量地使用了模式匹配功能。Scala的模式匹配除了可以对值进行匹配之外,还可以对类型、Array和List的元素情况case class、有值或没值(Option)进行匹配。scala的模式匹配类似于Java中的swich case语法,对一个值进行条件判断,针对不同的条件,进行不同的处理。在模式匹配中直接新建对象实例并不符合模式匹配的语法规则,因此用伴生对象的apply方法去获取属性和方法。,可以使用{}括起来,也可以不括。
Scala入门到精通(尚硅谷学习笔记)章节九——集合 1)Scala 的集合有三大类:序列 Seq、集 Set、映射 Map,所有的集合都扩展自Iterable特质。(2)对于几乎所有的集合类,Scala 都同时提供了可变和不可变的版本,分别位于以下两个包不可变集合:scala.collection.immutable可变集合: scala.collection.mutable(3)Scala 不可变集合,就是指该集合对象不可修改,每次修改就会返回一个新对象,而不会对原对象进行修改。类似于 java 中的 String 对象。...
Scala入门到精通(尚硅谷学习笔记)章节八——面向对象 第二种,一个类(Sub)混入的两个trait(TraitA,TraitB)中具有相同的具体方法,且两个trait继承自相同的trait (TraitC),及所谓的“钻石问题”,解决这类冲突问题,Scala采用了特质叠加的策略。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。第一种,一个类(Sub)混入的两个trait(TraitA,TraitB)中具有相同的具体方法,且两个trait之间没有任何关系,解决这类冲突问题,直接在类(Sub)中重写冲突方法。......
Scala入门到精通(尚硅谷学习笔记)章节七——函数式编程 scala支持两种编程范例:面向对象编程( OOP )和函数编程( FP )。函数式编程在解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。...
Scala入门到精通(尚硅谷学习笔记)章节五——变量和数据类型 是所有数据类型的子类,主要用在一个函数没有明确返回值时使用,因为这样我们可以把抛出的返回值,返回给任何的变量或者函数。当 Scala 程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数值类型。自动类型转换的逆过程,将精度大的数值类型转换为类型小的数值类型,使用时要加上强制转换函数,强转会造成精度降低或溢出。(2)把精度大的数值类型赋值给精度小的数值类型时,就会报错,反之就会进行自动类型转换。1)Scala数据类型仍然遵守,低精度的值类型向高精度值类型,自动转换(隐式转换)AnyVal代表值类型。..
Scala入门到精通(尚硅谷学习笔记)章节四——输入和输出 在输出时,普通字符将原样不动地复制到标准输出,转换说明并不直接输出而是用于控制 printf 中参数的转换和打印。每个转换说明都由一个百分号字符(%)开始,以转换说明结束,从而说明输出数据的类型、宽度、精度等。Source单例对象中, 提供了一些非常便捷的方法, 从而使开发者可以快速的从指定数据源(文本文件, URL地址等)中获取数据, 在使用 Source单例对象之前, 需要先导入source包, 即。%[标志][最小宽度][.精度][类型长度]说明符。print(s"$a")输出为变量的值。...
Scala入门到精通(尚硅谷学习笔记)章节二——语法格式 1.**scala严格区分大小写**2.**所有的类名的第一个字母要大写**。 如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写示例:class MyFirstScalaClass 3.**所有的方法名称的第一个字母用小写**。如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写...
Scala入门到精通(尚硅谷学习笔记)章节一——scala入门 Scala是一种“可扩展编程语言”。Scala已发现其可用于开发各种规模的软件,例如,使用Scala,您可以为大学考试开发一个小项目,也可以将其用于可以完成大量任务的项目。主要在服务器管理和数据科学中发现它的用途。...
2021年大学生大数据技能竞赛上海分区HIVE篇解析 文章目录项目需求step1:创建ods层数据表step2:创建dwd层数据表step3:创建dwm数据处理分析step4:创建dws层step5:创建app层其他参考设置:题目前置准备covid_ods库covid_dwd库covid_dwm库covid_dws库covid_app库项目需求自2019年底,湖北省武汉市监测发现不明原因肺炎病例,中国第一时间报告疫情,迅速采取行动,开展病因学和流行病学调查,阻断疫情蔓延。SARS-CoV-2是一种有着高扩散能力的病毒,通过飞沫、直接接触和被感染的物体传播
数据仓库环境准备 1.下载mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar并解压到某一路径2.安装 MySQL 组件3.登入mysql4.配置安全密码策略5.设置远程登入。
mapreduce工作流程(HADOOP2.x版本) 目录作业提交阶段(Job Submission)作业初始化阶段(Job Initialization)任务分配(Task Assignment)任务执行(Task Execution)作业提交阶段(Job Submission)现有一个200m的名为“1.txt”的文本文档,我们希望利用mapreduce对其进行分析。1.在编写好mapreduce程序后,新建job实例,设置job状态,并创建一个Job Client实例。2.Job Client同YARN( Hadoop 资源管理器)通过conn
hadoop大数据平台的构建 目录hadoop概述什么是hadoop?hadoop特点hadoop组成hadoop概述什么是hadoop?Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。
大数据生态圈简介 大数据平台架构大致可分为五个层级。顶层为应用层,提供数据服务与可视化,解决企业实际问题。第二层是大数据处理核心,包括数据处理、交互式分析以及机器学习与数据挖掘。第三层是资源调度,为了充分利用系统资源,提高全系统的资源利用率以及增强系统扩展性,需要进行统一的资源管理与调度。第四层是数据存储,如何解决海量数据的读写问题,是实现大数据平台的构建的基础。第五层是数据获取,快速、高效获取到海量信息是大数据的前提。
8-zookeeper算法基础(尚硅谷学习笔记) 目录拜占庭将军算法paxos算法paxos算法流程拜占庭将军算法paxos算法在paxos算法中,首先将所有节点划分为proposerI(提议者)、acceptor(接收者)、learner(学习者)每个节点可以充当多个角色paxos算法流程1.Prepare(准备阶段)proposer向多个acceptor发出propose请求promiseacceptor针对收到的propose请求进行promise2.accept(接受阶段)proposer收到多数acceptor承诺地epromi
7-zookeeper分布式锁案例(尚硅谷学习笔记) 目录概念与分析什么是分布式锁zookeeper分布式锁分析分布式锁实现概念与分析什么是分布式锁传统单体应用单机部署的情况下,可以使用并发处理相关的功能进行互斥控制,但是原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效。提出分布式锁的概念,是为了解决跨机器的互斥机制来控制共享资源的访问。当一个进程使用一个资源时,会去请求对这个资源的锁,以求对这个资源的独占,使得其他进程无法访问该资源。当进程使用完该资源,会释放锁