栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spark基于内存的分布式计算

Spark基于内存的分布式计算

前言
  • Apache Spark 是一种基于内存的快速、通用、可扩展的大数据技计算引擎
  • spark是一站式解决发难,集批处理,实时流处理,交互式查询、图计算与机器学习于一体.
    应用场景
  • 批处理可用于ETL(抽取、转换、加载)
  • 机器学习可用于自动批判淘宝的买家评论是好评还是差评
  • 交互式分析可用于查询Hive数据仓库
  • 流处理可用于页面点击流分析,推荐系统,舆情分析等实时业务。
    特点:
  • 轻(使用Scala)
  • 快(其余内存计算)
  • 巧(巧妙的借力现有大数据组件)
    Spark VS MapReduce
一、Spark的数据结构

1.1、Spark核心概念

  • RDD(弹性分布式数据集),是一个只读的,可分区的分布式数据集
  • RDD默认存储在内存,当内存不足时,溢写到磁盘
  • RDD数据以分区的形式在集群中存储
  • RDD具有血统机制,发生数据丢失时,可快速进行数据恢复
    1.2、RDD的依赖关系

    1.3宽窄依赖的区别-算子(算子就是函数、方法)
    1.3.1容错性:如果某个节点故障。窄依赖只要重算和子RDD分区对应的父RDD分区即可。宽依赖,在极端情况下,所有父RDD分区要重新计算.
    1.3.2传输性:
    1.4、RDD的阶段(stage)划分

    1.5、RDD操作类型
    Spark中的操作大致可以分为创建操作、转换操作、控制操作、行为操作
  • 创建操作:1、从外部存储创建(textFile[路径]),2、从并行集合创建parirallize
  • 转换操作:将RDD通过一定的操作转变成新的RDD,RDD的转换操作是惰性操作(转换不会真正的执行,只有遇到Action行动算子操作才会从头到尾真正的执行。惰性操作只是记录了转换的过程,没有真正的计算)
  • 控制操作:进行RDD持久化,让RDD按不同的存储策略保存在磁盘或者内存中
  • 行动操作:可以出发spark运行的操作。spark中行动操作分为两类:一类操作输出计算结果,另一类将RDD保存到外部文件系统或者数据库中
    1.6、Dataframe概念
  • 与RDD类似,DateFrme也是一个不可变弹性分布式数据集。除了数据以外还记录数据的结构信息,即schema(类似于mysql表的字段和字段类型)。类似二维表格
  • Dateframe的查询计划可以通过 Spar Catalyst Optimiser进行优化,即使Spark经验并不丰富,用Dateframe写得程序也可以尽量被转化为高效的形式予以执行
    1.7、Dataframe概念
  • Dataframe是Dateset的特例,Dataframe=Datase[Row],所以可以通过as方法将Dateframe转换Dateset。ROW 是一个通用的类型,所有的表结构信息都用Row来表示
  • DataSet是强类型的,可以有Datase[Car]等
    1.8、RDD,Dataframe,Dataframe表现形式的区别
二、Spark体系框架


2.1、SparkSQL概述


2.2、StructuredSteaming概述


2.3、SparkStreaming概述

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号