IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Spark概念和架构介绍 -> 正文阅读

[大数据]Spark概念和架构介绍

概述

Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。目前已经形成一个高速发展应用广泛的生态系统

Spark特性:

  1. 快速:大多数操作均在内存中迭代,只有少部分函数需要落地到磁盘。
  2. 易用性:支持scala、Java、Python、R等语言;提供超过80个算子,API使用及其方便
  3. 通用性:Spark提供了针对数据处理的一站式解决方案,计算时用Spark Core算子(替代Hadoop Map/Reduce),批处理时用Spark SQL(替代HiveSQL),实时计算用Spark Streaming(替代Stom),机器学习用Spark MLlib(替代Mahout;另外,通过Spark GraphX进行图计算。
  4. 运行模式多样:可运行于独立的集群模式中,可运行于Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源

适用场景

  • 复杂的批量处理(Batch Data Processing),偏重点在于处理海量数据的能力,至于处理速度可忍受,通常的时间可能是在数分钟到数小时;
  • 基于历史数据的交互式查询(Interactive Query),通常的时间在数十秒到数十分钟之间
  • 基于实时数据流的数据处理(Streaming Data Processing),通常在数百毫秒到数秒之间

为什么要学Spark

基于MapReduce的计算引擎通常会将中间结果输出到磁盘上进行存储和容错。出于任务管道承接的考虑,当一些查询翻译到MapReduce任务时,往往会产生多个Stage,而这些串联的Stage又依赖于底层文件系统(如HDFS)来存储每一个Stage的输出结果
在这里插入图片描述
Spark是MapReduce的替代方案,而且兼容HDFS、Hive,可以融入Hadoop的生态系统,以弥补MapReduce的不足。与Hadoop MapReduce相比,Spark基于内存的运算要快100倍以上。

spark架构

Spark基本模式

在这里插入图片描述
Spark Core:大规模并行和分布式数据处理的基础引擎。核心是分布式执行引擎,Java、Scala和Python API为分布式ETL应用程序程序开发提供了一个平台。此外,在核心上构建的其它库允许用于流式传输,SQL和机器学习的各种工作负载。

主要作用

  1. 内存管理和故障恢复
  2. 集群调度、分发和监视作业
  3. 与存储系统交互

核心功能

  • 基础设施:Spark中有很多基础设施,被Spark中的各种组件广泛使用,这些基础设施包括SparkConf(用于管理Spark应用程序的各种配置信息)、Spark内置RPC框架(使用Netty实现,有同步和异步的多种实现,Spark各个组件间的通信都依赖于此RPC框架)、事件总线ListenerBus(是SparkContext内部各个组件间使用事件–监听器模式异步调用的实现)、度量系统(是由Spark中的多种度量源【Source】和多种度量输出【Slink】构成,完成对整个Spark集群中各个组件运行期状态的监控。)
  • SparkContext:SparkContext是Spark的入口,

未完,待续…

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-15 11:37:30  更:2022-05-15 11:37:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 6:41:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码