码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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 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等等代码进行编程

  • 相关阅读:
    SpringBoot整合Zookeeper做分布式锁
    C#操作GridView控件绑定数据实例详解
    一文看懂一体成型贴片电感感值怎么测量gujing
    正则表达式[总结]
    Hugging Face Accelerate 两个后端的故事:FSDP 与 DeepSpeed
    webGoat目录访问控制路径
    MATLAB cell数组 (tuple)
    如何安装JetPack?
    数据结构--排序
    2023亚太地区数学建模竞赛A题B题C题思路+模型+代码
  • 原文地址:https://blog.csdn.net/cai_4/article/details/132974257
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号