当前位置: 首页 > news >正文

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大数据解决方案存在一些弊端

  1. MR程序是基于磁盘进行运算,因此导致MR程序计算效率底下
  2. 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安装部署涉及到很多端口:

  1. 7077 Spark的standalone模式下的master节点的通信端口
  2. 4000 Spark的历史日志服务器的默认端口
  3. 8080/自定义端口 Spark的standalone模式下Master节点的webui端口
  4. 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 modeSpark应用程序的部署模式(YARN场景下) 取值 client cluster
--class class_namejar包中Driver驱动程序的全限定类名
--name namespark应用程序的别名
--driver-memory 1024Mdriver驱动程序
--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类&#xff0c;程序等7.1其他java项目或文件不能运行的原因&#xff1a; 8.新建类并运行程序9.输入…...

AOP全局异常处理

AOP全局异常处理 由于Controller可能接收到来自业务层、数据层、数据库抛出的异常&#xff0c;因此需要使用AOP思想&#xff0c;进行全局异常处理&#xff0c;异常可通过调试获得。 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 的对象属性名都是字符串&#xff0c;这容易造成属性名冲突的问题 举例: 使用别人的模块/对象, 又想为之添加新的属性,这就容易使得新属性名与原有属性名冲突 2、Symbol类型简介 symbol是一种原始数据类型 其余原始类型: 未定义(undefined) 、…...

封装统一响应结果类和消息枚举类

在开发中&#xff0c;响应结果都需要统一格式&#xff0c;下面给出一个例子&#xff0c;可自行修改。 package com.lili.utils;import com.fasterxml.jackson.annotation.JsonInclude; import com.lili.enums.AppHttpCodeEnum;import java.io.Serializable;/*** author YLi_Ji…...

应广单片机实现红蓝双色爆闪灯

继续进行点灯&#xff0c;今天来点简单的&#xff0c;红蓝双色爆闪灯&#xff0c;上电即可爆闪&#xff0c;红色接pa.3.pa.4,蓝色接pa6.和pa.7,低电平点亮LED灯&#xff0c;想要高电平点亮&#xff0c;或是驱动N管点亮灯&#xff0c;可以稍作修改。端口电平输出0改1&#xff0c…...

深入了解OSI模型:计算机网络的七大层次

目录 OSI模型 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 OSI模型 OSI模型是一个网络通信的概念模型&#xff0c;用于描述计算机网络中各个不同层次之间的通信和功能。它将网络通信分为七个不同的层次&#xff0c;每个层次负责不同的任务&#xff0c;使得网…...

games101 作业2

题目 光栅化一个三角形 1. 创建三角形的 2 维 bounding box。 2. 遍历此 bounding box 内的所有像素&#xff08;使用其整数索引&#xff09;。然后&#xff0c;使用像素中心的屏幕空间坐标来检查中心点是否在三角形内。 3. 如果在内部&#xff0c;则将其位置处的插值深度值 (…...

二叉树链式存储结构

目录 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媲美的语言模型

本文全程干货&#xff0c;让你轻松使用上claude&#xff0c;这也是目前体验cluade的唯一途径&#xff01;废话不多说&#xff0c;直接上教程&#xff0c;cluade的能力不逊于GPT4&#xff0c;号称是ChatGPT4.0最强竞品。相对Chatgpt来说&#xff0c;Claude不仅是完全免费的&…...

【汇编】微处理器

【汇编】微处理器 文章目录 【汇编】微处理器1、微处理器概念1.1 关键词1.2 分类 2、微处理器结构2.1 寄存器2.2 寄存器&汇编助记符2.3 寄存器组成结构 3、地址空间3.1 存储空间3.1.1 虚拟空间&#xff08;编程空间&#xff09;3.1.2 线性空间 3.2 I/O空间 4、工作模式4.1 …...

按键点亮led灯

原理图: K0这个按键按下时&#xff0c;开发板D1这个灯亮&#xff0c;松开&#xff0c;灯灭 代码如下: #include "stm32f4xx.h" void LED_Init(void) {//1.定义一个GPIO外设的结构体变量 GPIO_InitTypeDef GPIO_InitStructure;//RCC_AHB1PeriphClockCmd(RCC_AHB1Pe…...

Java常见面试题

目录 1、mysql并发事务会带来哪些问题&#xff0c;如何解决&#xff1f;2、请详细描述Redis持久化机制&#xff1f;3、简述Redis缓存雪崩和缓存穿透的问题和解决方案&#xff1f;4、RabbitMQ消息丢失及对应解决方案5、什么叫线程安全&#xff1f;举例说明6、举例说明常用的加密…...

笔记1.5:计算机网络体系结构

从功能上描述计算机网络结构 分层结构 每层遵循某个网络协议完成本层功能 基本概念 实体&#xff1a;表示任何可发送或接收信息的硬件或软件进程。 协议是控制两个对等实体进行通信的规则的集合&#xff0c;协议是水平的。 任一层实体需要使用下层服务&#xff0c;遵循本层…...

【Python】Python 连接字符串应优先使用 join 而不是 +

Python 连接字符串应优先使用 join 而不是 简介 字符串处理在大多数编程程序语言中都不可避免&#xff0c;字符串的连接也是在编程过程中经常需要面对的问题。 Python中的字符串与其他一些程序语言如C、Java有一些不同&#xff0c;它为不 可变对象。 一旦创建便不能改变&…...

uniapp 小程序 父组件调用子组件方法

答案&#xff1a;配合小程序API > this.selectComponent("")&#xff0c;来选择组件&#xff0c;再使用$vm选择组件实例&#xff0c;再调用方法&#xff0c;或者data 1 设置组件的id,如果你的多端&#xff0c;请跟据情况设置ref,class,id&#xff0c;以便通过小…...

Vue-01:MVVM数据双向绑定与Vue的生命周期

一、Vue介绍 1.1 什么是Vue &#xff1f; Vue是一个渐进式的JavaScript框架&#xff0c;用于构建用户界面。"渐进式"意味着Vue的设计理念是逐步增强应用的功能和复杂性&#xff0c;而不是一次性地引入所有功能。这使得开发者可以根据项目需求选择性地使用Vue的不同特…...

数据通信网络之OSPFv3基础

文章及资源归档至【AIShareLab】&#xff0c;回复 通信系统与网络 可获取。 文章目录 一、目的二、拓扑三、需求四、步骤 一、目的 掌握路由器的IPv6 基础配置。掌握OSPFv3&#xff08;单区域&#xff09;的基础配置。 二、拓扑 如图1 所示&#xff0c;三台路由器R1、R2 和R…...

FPGA-结合协议时序实现UART收发器(五):串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive

FPGA-结合协议时序实现UART收发器&#xff08;五&#xff09;&#xff1a;串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive 串口顶层模块UART_TOP、例化PLL、UART_FIFO、uart_drive&#xff0c;功能实现。 文章目录 FPGA-结合协议时序实现UART收发器&#xff08;五&…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...