Spark的基础
实训笔记--Spark的基础
- Spark的基础
- 一、Spark的诞生背景
- 二、Spark概念
- 2.1 Spark Core
- 2.2. Spark SQL
- 2.3 Spark Streaming
- 2.4 Spark MLlib
- 2.5 Spark GraphX
- 2.6 Spark R
- 三、Spark的特点
- 3.1 计算快速
- 3.2 易用性
- 3.3 兼容性
- 3.4 通用性
- 四、Spark的安装部署
- 4.1 Spark的安装部署就是安装Spark的不同的资源调度器
- 4.1.1 本地模式
- 4.1.2 Standalone独立调度器部署模式
- 4.1.3 Hadoop的YARN部署模式
- 4.1.4 Apache的Mesos部署模式
- 4.2 Spark的历史日志服务器
- 五、Spark程序的部署运行的方式
- 5.1 options的常用选型以及含义
- 六、Spark的编程方式
- 6.1 REPL交互式命令行窗口代码编程
- 6.2 Java/Scala/Python等等代码进行编程
Spark的基础
一、Spark的诞生背景
Spark 2009年诞生的一个技术,诞生的主要原因是因为Hadoop大数据解决方案存在一些弊端
- MR程序是基于磁盘进行运算,因此导致MR程序计算效率底下
- MR程序无法计算复杂的任务,如果想要实现复杂的计算逻辑,可能编写多个MR Job,其中后续的Job依赖于前一个Job的输出,但是多个Job无法知道前一个job,需要通过任务调度框架自己指定多job的依赖关系
二、Spark概念
Spark相当于是Hadoop的升级版本的解决方案,基于内存进行运算,并且Spark内部实现迭代式计算思想,可以在一个应用程序编写复杂的计算逻辑
Spark有一个思想(one stack to rule them all)-一栈式解决方案,一个技术实现大数据中各种计算场景的应用问题。Spark中包含很多的计算子组件
2.1 Spark Core
Spark的核心基础,Spark的任务调度规则,Spark的基础语法,数据抽象RDD。。。
2.2. Spark SQL
借助SQL或者Hive版本的HQL进行结构化数据的处理
2.3 Spark Streaming
内部采用了微批次处理思想,实现数据的实时计算
2.1~2.2:数据处理和开发的
2.4 Spark MLlib
2.5 Spark GraphX
2.6 Spark R
2.4~2.6:数据科学或者算法计算
三、Spark的特点
3.1 计算快速
Spark相当于Hadoop的升级版的大数据计算解决方案
3.2 易用性
Spark提供了多种语法的编程风格
3.3 兼容性
Spark计算框架和大数据中很多技术无缝衔接,比如Spark支持直接从HDFS、Kafka、HBase、Hive、MySQL…等等地方直接读取数据处理
3.4 通用性
Spark一个技术栈可以解决大数据中遇到的大部分计算场景问题,而且Spark各个子组件都是基于Spark Core的,因此Spark的各个子组件可以无缝的衔接转换
四、Spark的安装部署
【注意】Spark的安装部署,Spark本身就是一个分布式计算框架,如果使用Spark,我们需要使用对应的编程语言编写Spark代码,编写Spark程序不需要部署Spark程序,因此Spark的安装部署主要指的是编写好的Spark程序在什么环境下运行(编写好的Spark程序使用哪种资源调度器进行资源的申请和调度)。 Spark的安装部署就是安装部署Spark运行的资源调度器的。
Spark的资源调度器常用的有三个:Spark自带的standalone独立调度器、Hadoop的YARN、Apache的Mesos
4.1 Spark的安装部署就是安装Spark的不同的资源调度器
4.1.1 本地模式
(不使用任何的资源调度器,只在本地运行Spark程序):这种部署模式只能做测试学习使用
4.1.2 Standalone独立调度器部署模式
部署Master和Worker节点(主从架构):这种部署模式既可以测试学习、也可以做项目开发部署
4.1.3 Hadoop的YARN部署模式
部署Spark程序在YARN上运行,这种模式一般项目生产环境用的比较多
4.1.4 Apache的Mesos部署模式
部署Spark程序在Mesos上运行,这种模式一般项目生产环境用的比较多
4.2 Spark的历史日志服务器
汇聚Spark的应用程序的计算日志,借助于HDFS完操作
【注意】Spark安装部署涉及到很多端口:
- 7077 Spark的standalone模式下的master节点的通信端口
- 4000 Spark的历史日志服务器的默认端口
- 8080/自定义端口 Spark的standalone模式下Master节点的webui端口
- 8088 YARN的web访问端口
五、Spark程序的部署运行的方式
spark-submit [options] <app jar | python file | R file> [app arguments]
5.1 options的常用选型以及含义
参数 | 说明 |
---|---|
--master masterurl | 将Spark程序部署到哪个资源管理器运行 |
spark://host:port, mesos://host:port, yarn,k8s://https://host:port, or local (Default: local[*]). | |
--deploy-mode mode | Spark应用程序的部署模式(YARN场景下) 取值 client cluster |
--class class_name | jar包中Driver驱动程序的全限定类名 |
--name name | spark应用程序的别名 |
--driver-memory 1024M | driver驱动程序 |
--executor-memory 1G | 等同于YARN中容器,一个容器有多少内存 |
--executor-cores num | 每一个executor中有多少个内核 |
六、Spark的编程方式
6.1 REPL交互式命令行窗口代码编程
Spark提供了一个REPL工具:spark-shell spark-shell --master local[*]
6.2 Java/Scala/Python等等代码进行编程
相关文章:
Spark的基础
实训笔记--Spark的基础 Spark的基础一、Spark的诞生背景二、Spark概念2.1 Spark Core2.2. Spark SQL2.3 Spark Streaming2.4 Spark MLlib2.5 Spark GraphX2.6 Spark R 三、Spark的特点3.1 计算快速3.2 易用性3.3 兼容性3.4 通用性 四、Spark的安装部署4.1 Spark的安装部署就是安…...
如何在idea中新建第一个java小程序
如何在idea中新建第一个java小程序 1.打开软件2.新建项目3.找到安装的jdk文件路径4.继续下一步5.创建项目名称并配置项目路径6.点击完成即可。7.在项目文件的src文件夹下创建java类,程序等7.1其他java项目或文件不能运行的原因: 8.新建类并运行程序9.输入…...
AOP全局异常处理
AOP全局异常处理 由于Controller可能接收到来自业务层、数据层、数据库抛出的异常,因此需要使用AOP思想,进行全局异常处理,异常可通过调试获得。 package org.sinian.reggie.common;import lombok.extern.slf4j.Slf4j; import org.springfram…...
一阶低通滤波器滞后补偿算法
一阶低通滤波器的推导过程和双线性变换算法请查看下面文章链接: PLC算法系列之数字低通滤波器(离散化方法:双线性变换)_双线性离散化_RXXW_Dor的博客-CSDN博客PLC信号处理系列之一阶低通(RC)滤波器算法_RXXW_Dor的博客-CSDN博客_rc滤波电路的优缺点1、先看看RC滤波的优缺点…...
JS中Symbol的介绍
1、 引入Symbol类型的背景 ES5 的对象属性名都是字符串,这容易造成属性名冲突的问题 举例: 使用别人的模块/对象, 又想为之添加新的属性,这就容易使得新属性名与原有属性名冲突 2、Symbol类型简介 symbol是一种原始数据类型 其余原始类型: 未定义(undefined) 、…...
封装统一响应结果类和消息枚举类
在开发中,响应结果都需要统一格式,下面给出一个例子,可自行修改。 package com.lili.utils;import com.fasterxml.jackson.annotation.JsonInclude; import com.lili.enums.AppHttpCodeEnum;import java.io.Serializable;/*** author YLi_Ji…...
应广单片机实现红蓝双色爆闪灯
继续进行点灯,今天来点简单的,红蓝双色爆闪灯,上电即可爆闪,红色接pa.3.pa.4,蓝色接pa6.和pa.7,低电平点亮LED灯,想要高电平点亮,或是驱动N管点亮灯,可以稍作修改。端口电平输出0改1,…...
深入了解OSI模型:计算机网络的七大层次
目录 OSI模型 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 OSI模型 OSI模型是一个网络通信的概念模型,用于描述计算机网络中各个不同层次之间的通信和功能。它将网络通信分为七个不同的层次,每个层次负责不同的任务,使得网…...
games101 作业2
题目 光栅化一个三角形 1. 创建三角形的 2 维 bounding box。 2. 遍历此 bounding box 内的所有像素(使用其整数索引)。然后,使用像素中心的屏幕空间坐标来检查中心点是否在三角形内。 3. 如果在内部,则将其位置处的插值深度值 (…...
二叉树链式存储结构
目录 1.二叉树链式存储结构 2.二叉树的遍历 2.1 前、中、后序遍历 2.2 层序遍历 3.二叉树的其他递归问题 3.1 二叉树的结点个数 3.2 二叉树的叶子结点个数 3.3 二叉树第k层结点个数 3.4 二叉树的深度 3.5 二叉树查找 3.6 二叉树销毁 4.二叉树的基础OJ题 4.1 单值…...
Claude 使用指南 | 可与GPT-4媲美的语言模型
本文全程干货,让你轻松使用上claude,这也是目前体验cluade的唯一途径!废话不多说,直接上教程,cluade的能力不逊于GPT4,号称是ChatGPT4.0最强竞品。相对Chatgpt来说,Claude不仅是完全免费的&…...
【汇编】微处理器
【汇编】微处理器 文章目录 【汇编】微处理器1、微处理器概念1.1 关键词1.2 分类 2、微处理器结构2.1 寄存器2.2 寄存器&汇编助记符2.3 寄存器组成结构 3、地址空间3.1 存储空间3.1.1 虚拟空间(编程空间)3.1.2 线性空间 3.2 I/O空间 4、工作模式4.1 …...
按键点亮led灯
原理图: K0这个按键按下时,开发板D1这个灯亮,松开,灯灭 代码如下: #include "stm32f4xx.h" void LED_Init(void) {//1.定义一个GPIO外设的结构体变量 GPIO_InitTypeDef GPIO_InitStructure;//RCC_AHB1PeriphClockCmd(RCC_AHB1Pe…...
Java常见面试题
目录 1、mysql并发事务会带来哪些问题,如何解决?2、请详细描述Redis持久化机制?3、简述Redis缓存雪崩和缓存穿透的问题和解决方案?4、RabbitMQ消息丢失及对应解决方案5、什么叫线程安全?举例说明6、举例说明常用的加密…...
笔记1.5:计算机网络体系结构
从功能上描述计算机网络结构 分层结构 每层遵循某个网络协议完成本层功能 基本概念 实体:表示任何可发送或接收信息的硬件或软件进程。 协议是控制两个对等实体进行通信的规则的集合,协议是水平的。 任一层实体需要使用下层服务,遵循本层…...
【Python】Python 连接字符串应优先使用 join 而不是 +
Python 连接字符串应优先使用 join 而不是 简介 字符串处理在大多数编程程序语言中都不可避免,字符串的连接也是在编程过程中经常需要面对的问题。 Python中的字符串与其他一些程序语言如C、Java有一些不同,它为不 可变对象。 一旦创建便不能改变&…...
uniapp 小程序 父组件调用子组件方法
答案:配合小程序API > this.selectComponent(""),来选择组件,再使用$vm选择组件实例,再调用方法,或者data 1 设置组件的id,如果你的多端,请跟据情况设置ref,class,id,以便通过小…...
Vue-01:MVVM数据双向绑定与Vue的生命周期
一、Vue介绍 1.1 什么是Vue ? Vue是一个渐进式的JavaScript框架,用于构建用户界面。"渐进式"意味着Vue的设计理念是逐步增强应用的功能和复杂性,而不是一次性地引入所有功能。这使得开发者可以根据项目需求选择性地使用Vue的不同特…...
数据通信网络之OSPFv3基础
文章及资源归档至【AIShareLab】,回复 通信系统与网络 可获取。 文章目录 一、目的二、拓扑三、需求四、步骤 一、目的 掌握路由器的IPv6 基础配置。掌握OSPFv3(单区域)的基础配置。 二、拓扑 如图1 所示,三台路由器R1、R2 和R…...
FPGA-结合协议时序实现UART收发器(五):串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive
FPGA-结合协议时序实现UART收发器(五):串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive 串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive,功能实现。 文章目录 FPGA-结合协议时序实现UART收发器(五&…...
我学编程全靠B站了,真香-国外篇(第三期)
你好,我是Martin。 今天来点猛料,给大家推荐点我的压箱收藏-国外知名大学的公开课。 我推荐的不多,本着少就是多的原则,只给大家推荐我看过最好的五门视频,主要是来自两所国外高校:MIT美国麻省理工、CMU卡…...
c++ 变量常量指针练习题
Q1:在win32 x86模式下,int *p; int **pp; double *q; 请说明p、pp、q各占几个字节的内存单元。 p 占 4 个字节 pp 占 4 个字节 q 占 4 个字节 Q2常量1、1.0、“1”的数据类型是什么? 1 是 整形 int 1.0 是 浮点型 double “1” 是 const char * Q3 语句&…...
Linux底层基础知识
一.汇编,C语言,C,JAVA之间的关系 汇编,C语言,C可以通过不同的编译器,编译成机器码。而java只能由Java虚拟机识别。Java虚拟机可以看成一个操作系统,Java虚拟机是由汇编,C,…...
JUC并发编程--------线程安全篇
目录 什么是线程安全性问题? 如何实现线程安全? 1、线程封闭 2、无状态的类 3、让类不可变 4、加锁和CAS 并发环境下的线程安全问题有哪些? 1、死锁 2、活锁 3、线程饥饿 什么是线程安全性问题? 我们可以这么理解&#…...
机器视觉之Basler工业相机使用和配置方法(C++)
basler工业相机做双目视觉用,出现很多问题记录一下: 首先是多看手册:https://zh.docs.baslerweb.com/software 手册内有所有的源码和参考示例,实际上在使用过程中,大部分都是这些源码,具体项目选择对应的…...
Centos nginx配置文档
1、安装nginx: yum install nginx 2、Nginx常用命令 查看版本:nginx -v 启动:nginx -c /etc/nginx/nginx.conf 重新加载配置:nginx -s reload 停止:nginx -s stop 3、Nginx反向代理配置 nginx配置详解 1、Nginx配置图 详情可以查看:http://nginx.org/ru/docs/example…...
2023/9/14 -- C++/QT
作业: 仿照Vector实现MyVector,最主要实现二倍扩容 #include <iostream>using namespace std;template <typename T> class MyVector { private:T *data;size_t size;size_t V_capacity; public://无参构造MyVector():data(nullptr),size(…...
golang在goland编译时获取环境变量失效
在golang中, 我们通常使用os包来获取环境变量,如: os.Getenv() os.LookupEnv() 等。 但如果我们使用goland编译器,在编译是,这时操作环境变量,会发现os包读取到的环境变量值不变: 新增后&am…...
一款非常容易上手的报表工具,简单操作实现BI炫酷界面数据展示,驱动支持众多不同类型的数据库,可视化神器,免开源了
一款非常容易上手的报表工具,简单操作实现BI炫酷界面数据展示,驱动支持众多不同类型的数据库,可视化神器,免开源了。 在互联网数据大爆炸的这几年,各类数据处理、数据可视化的需求使得 GitHub 上诞生了一大批高质量的…...
蓝桥杯 题库 简单 每日十题 day3
01 约数个数 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 1200000 有多少个约数(只计算正约数)。 解题思路 枚举,从1开始一直到1200000本身都作为1200000的除数,…...
取消网站备案/附近有学电脑培训班吗
简介 htmlcss提示框/弹窗公告实例 演示 实例代码 <!-- 弹窗代码开始 --> <div class"web_notice" style"position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0,0,0,0.3);z-index: 99999;"> <div style"pos…...
做网站机构图用什么工具/app拉新渠道商
前言 现如今太多的年轻人被市面上形形色色的应用软件所吸引着,看短视频有抖音、快手,看电视剧有爱奇艺、腾讯视频,看小说更是有数不清的各种各样的小说网站,以前的年轻人喜欢玩游戏,因为除了游戏没有其它能够吸引自己的…...
网站开发论坛/百度总部
CSS left 属性 CSS 参考手册 实例 把图像的左边缘设置在其包含元素左边缘向右 100 像素的位置: img{position:absolute;left:100px;}亲自试一试 浏览器支持 所有主流浏览器都支持 left 属性。 注释:任何的版本的 Internet Explorer (包括 IE8…...
做好公司网站/山西百度查关键词排名
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面…...
嘉兴优化网站哪家好/如何提高网站搜索排名
复习Python的第三十九天 习题 44 : 给你的游戏打分 从现在开始你要学会“自给自足”,以前是我牵着你前行,以后就得靠你自己了。 一开始你会觉得很困难并且很不习惯,但只要坚持下去,你就会培养出自己解决问题的能力。 你还会找出…...
网站建设 培训班 成都/seo蜘蛛池
idea 开发的时候报错: Timeout waiting to lock file hash cache (E:\gradle-6.4.1\caches\6.4.1\fileHashes). It is currently in use by another Gradle instance. 按照目录看到: 我们要删除这个lock,但是会提示上锁了。 Windows删除: …...