01 2022 档案

基础编程
摘要:在 Spark 中创建 RDD 的创建方式可以分为四种: 1) 从集合(内存)中创建 RDD 从集合中创建 RDD,Spark 主要提供了两个方法:parallelize 和 makeRDD val sparkConf = new SparkConf().setMaster("local[*]"). 阅读全文

posted @ 2022-01-25 21:48 青竹之下 阅读(84) 评论(0) 推荐(0)

RDD执行原理
摘要:从计算的角度来讲,数据处理过程中需要计算资源(内存 & CPU)和计算模型(逻辑)。 执行时,需要将计算资源和计算模型进行协调和整合。 Spark 框架在执行时,先申请资源,然后将应用程序的数据处理逻辑分解成一个一个的 计算任务。然后将任务发到已经分配资源的计算节点上, 按照指定的计算模型进行数据计 阅读全文

posted @ 2022-01-24 21:55 青竹之下 阅读(111) 评论(0) 推荐(0)

Spark 核心编程
摘要:Spark 计算框架为了能够进行高并发和高吞吐的数据处理,封装了三大数据结构,用于 处理不同的应用场景。三大数据结构分别是: ➢ RDD : 弹性分布式数据集 ➢ 累加器:分布式共享只写变量 ➢ 广播变量:分布式共享只读变 RDD(Resilient Distributed Dataset)叫做弹性 阅读全文

posted @ 2022-01-24 21:41 青竹之下 阅读(54) 评论(0) 推荐(0)

Yarn Client 模式
摘要:Client 模式将用于监控和调度的 Driver 模块在客户端执行,而不是在 Yarn 中,所以一 般用于测试。 ➢ Driver 在任务提交的本地机器上运行 ➢ Driver 启动后会和 ResourceManager 通讯申请启动 ApplicationMaster ➢ ResourceMan 阅读全文

posted @ 2022-01-23 21:54 青竹之下 阅读(270) 评论(0) 推荐(0)

Spark 运行架构
摘要:运行架构 Spark 框架的核心是一个计算引擎,整体来说,它采用了标准 master-slave 的结构。 如下图所示,它展示了一个 Spark 执行时的基本结构。图形中的 Driver 表示 master, 负责管理整个集群中的作业任务调度。图形中的 Executor 则是 slave,负责实际执 阅读全文

posted @ 2022-01-22 22:48 青竹之下 阅读(125) 评论(0) 推荐(0)

K8S & Mesos 模式
摘要:K8S & Mesos 模式 Mesos 是 Apache 下的开源分布式资源管理框架,它被称为是分布式系统的内核,在 Twitter 得到广泛使用,管理着 Twitter 超过 30,0000 台服务器上的应用部署,但是在国内,依 然使用着传统的 Hadoop 大数据框架,所以国内使用 Mesos 阅读全文

posted @ 2022-01-21 22:41 青竹之下 阅读(434) 评论(0) 推荐(0)

Yarn 模式
摘要:独立部署(Standalone)模式由 Spark 自身提供计算资源,无需其他框架提供资源。这 种方式降低了和其他第三方资源框架的耦合性,独立性非常强。但是你也要记住,Spark 主 要是计算框架,而不是资源调度框架,所以本身提供的资源调度并不是它的强项,所以还是 和其他专业的资源调度框架集成会更靠 阅读全文

posted @ 2022-01-20 22:46 青竹之下 阅读(93) 评论(0) 推荐(0)

提交参数说明
摘要:bin/spark-submit \ --class <main-class> --master <master-url> \ ... # other options <application-jar> \ [application-arguments] 由于 spark-shell 停止掉后,集群 阅读全文

posted @ 2022-01-19 11:09 青竹之下 阅读(94) 评论(0) 推荐(0)

Standalone 模式
摘要:解压缩文件 将 spark-3.0.0-bin-hadoop3.2.tgz 文件上传到 Linux 并解压缩在指定位置 tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/module cd /opt/module mv spark-3.0.0-bin-h 阅读全文

posted @ 2022-01-17 09:36 青竹之下 阅读(149) 评论(0) 推荐(0)

spark处介绍
摘要:➢ Spark Core Spark Core 中提供了 Spark 最基础与最核心的功能,Spark 其他的功能如:Spark SQL, Spark Streaming,GraphX, MLlib 都是在 Spark Core 的基础上进行扩展的 ➢ Spark SQL Spark SQL 是 S 阅读全文

posted @ 2022-01-10 10:09 青竹之下 阅读(61) 评论(0) 推荐(0)

Scala泛型和上下界
摘要:[toc] ## Scala泛型和上下界 ### 1. Scala泛型 > 1. 如果我们要求函数的参数可以接受任意类型。可以使用`泛型`,这个类型可以代表任意的数据类型。 > 2. 例如 List,在创建 List 时,可以传入整型、字符串、浮点数等等任意类型。那是因为 List 在 类定义时引用 阅读全文

posted @ 2022-01-09 23:24 青竹之下 阅读(160) 评论(0) 推荐(0)

Scala并发编程模型Akka
摘要:[toc] ## Scala并发编程模型Akka ### 1. Akka简介 #### Akka是什么? > 1. Akka是JAVA虚拟机JVM平台上构建高并发、分布式和容错应用的工具包和运行时,你可以理解成Akka是编写并发程序的框架。> 2. Akka用Scala语言写成,同时提供了Scala 阅读全文

posted @ 2022-01-09 23:24 青竹之下 阅读(180) 评论(0) 推荐(0)

Scala递归编程练习
摘要:[toc] ## Scala递归编程练习 > Scala 是运行在 Java 虚拟机(Java Virtual Machine)之上,因此具有如下特点:>> 1. 轻松实现和丰富的 Java 类库互联互通。> 2. 它既支持面向对象的编程方式,又支持函数式编程。> 3. 它写出的程序像动态语言一样简 阅读全文

posted @ 2022-01-09 23:23 青竹之下 阅读(72) 评论(0) 推荐(0)

Scala项目-客户信息管理系统
摘要:[toc] ## Scala项目-客户信息管理系统 ### 1. 项目开发流程 ![项目开发流程](assets/项目开发流程.png) ### 2. 项目需求分析 > 1. 模拟实现基于文本界面的《客户信息管理系统》。> 2. 该系统Scala能够实现对客户对象的插入、修改和删除、显示,查询(用A 阅读全文

posted @ 2022-01-09 23:23 青竹之下 阅读(482) 评论(0) 推荐(0)

Scala函数式编程高级
摘要:[toc] ## Scala函数式编程高级 > 先看一个需求:>> 给你一个集合`val list = List(1, 2, 3, 4, "abc")` ,请完成如下要求:>> 1. 将集合list中的所有数字+1,并返回一个新的集合。> 2. 要求忽略掉非数字的元素,即返回的新的集合形式为 `(2 阅读全文

posted @ 2022-01-09 23:22 青竹之下 阅读(60) 评论(0) 推荐(0)

Scala模式匹配
摘要:[toc] ## Scala模式匹配 > Scala中的模式匹配`类似于Java中的switch语法`,但是更加强大。>> 模式匹配语法中,采用==match关键字声明==,每个分支==采用case关键字==进行声明,当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码,如 阅读全文

posted @ 2022-01-04 22:18 青竹之下 阅读(83) 评论(0) 推荐(0)

Scala集合基础
摘要:[toc] ## Scala集合基础 > 1. Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问。Scala默认采用不可变集合,对于几乎所有的集合类,Scala都同时提供了可变(mutable)和不可变(immutable)的版本。> 2. 两个主要的包:> 1. 不可变集合:` 阅读全文

posted @ 2022-01-04 22:17 青竹之下 阅读(70) 评论(0) 推荐(0)

Scala集合的操作
摘要:[toc] ## Scala集合的操作 ### 1. 集合元素的映射操作 > 1. 看一个实际需求> - 要求:请将List(3,5,7) 中的所有元素都 * 2 ,将其结果放到一个新的集合中返回,即返回一个新的List(6,10,14), 请编写程序实现。> - 上面提出的问题,其实就是一个关于集 阅读全文

posted @ 2022-01-04 22:17 青竹之下 阅读(300) 评论(0) 推荐(0)

Scala隐式转换和隐式值
摘要:[toc] ## Scala隐式转换和隐式值 先看一段代码,引出隐式转换的实际需要:指定某些数据类型的相互转化 ~~~scalaobject ScalaConversionDemo01 { def main(args: Array[String]): Unit = { //var num:Int = 阅读全文

posted @ 2022-01-04 22:16 青竹之下 阅读(63) 评论(0) 推荐(0)

Scala面向对象编程
摘要:[toc] ## > Scala语言是面向对象的:>> 1. Java是面向对象的编程语言,由于历史原因,`Java中还存在着非面向对象的内容:基本类型 ,null,静态方法等。` > 2. Scala语言来自于Java,所以天生就是面向对象的语言,而且==Scala是纯粹的面向对象的语言,即在Sc 阅读全文

posted @ 2022-01-04 22:16 青竹之下 阅读(209) 评论(0) 推荐(0)

Scala流程控制语句
摘要:[toc] ## Scala流程控制语句 > 1. 在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。> 2. ==Scala语言中控制结构和Java语言中的控制结构基本相同==,在不考虑特殊应用场景的情况下,代码书写方式以及理解方式都没有太大的区别。> 1 阅读全文

posted @ 2022-01-04 22:15 青竹之下 阅读(245) 评论(0) 推荐(0)

Scala函数式编程基础
摘要:[toc] ## Scala函数式编程基础 ### 1. 函数式编程内容 > 1. `函数式编程基础`> 1. 函数定义/声明> 2. 函数运行机制> 3. 递归> - `难点 [最短路径,邮差问题,迷宫问题, 回溯]`> 4. 过程> 5. 惰性函数和异常> 2. `函数式编程高级`> 1. 值函 阅读全文

posted @ 2022-01-04 22:15 青竹之下 阅读(149) 评论(0) 推荐(0)

Scala运算符
摘要:[toc] ## Scala运算符 > 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。>> 1. 算术运算符> 2. 赋值运算符 > 3. 比较运算符(关系运算符)> 4. 逻辑运算符> 5. `位运算符` ### 1. 算术运算符 > 1. 算术运算符(arithmetic)是对`数值 阅读全文

posted @ 2022-01-04 22:14 青竹之下 阅读(273) 评论(0) 推荐(0)

Flink
摘要:[toc] ## Flink 简介 ### 1. 初识 Flink Flink起源于Stratosphere项目,Stratosphere是在2010~2014年由3所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014年4月Stratosphere的代码被复制并捐赠给了Apache软件 阅读全文

posted @ 2022-01-04 22:04 青竹之下 阅读(210) 评论(0) 推荐(0)

Scala函数式编程高级
摘要:[toc] ## Scala函数式编程高级 > 先看一个需求:>> 给你一个集合`val list = List(1, 2, 3, 4, "abc")` ,请完成如下要求:>> 1. 将集合list中的所有数字+1,并返回一个新的集合。> 2. 要求忽略掉非数字的元素,即返回的新的集合形式为 `(2 阅读全文

posted @ 2022-01-03 09:29 青竹之下 阅读(100) 评论(0) 推荐(0)

Scala基本语法
摘要:[toc] ## Scala变量 > 不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位。 ### 1. 变量的快速入门 > 1. 变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。> 2. 声明/ 阅读全文

posted @ 2022-01-02 21:37 青竹之下 阅读(204) 评论(0) 推荐(0)

Scala入门
摘要:[toc] ## Scala入门 > 1. Spark—新一代内存级大数据计算框架,是大数据的重要内容。Spark就是使用Scala编写的。因此为了更好的学习Spark, 需要掌握Scala这门语言。> 2. `Scala 是 Scalable Language 的简写`,是一门多范式`(范式/编程 阅读全文

posted @ 2022-01-01 21:36 青竹之下 阅读(91) 评论(0) 推荐(0)