Spark通识

简介: Apache Spark是一种快速、通用、可扩展、可容错的、基于内存迭代计算的大数据分析引擎。首先强调一点, Spark目前是一个处理数据的计算引擎, 不做存储。首先咱们通过一张图来看看目前Spark生态圈都包括哪些核心组件:

在说Spark之前,笔者在这里向对Spark感兴趣的小伙伴们建议,想要了解、学习、使用好Spark,Spark的官网是一个很好的工具,几乎能满足你大部分需求。

同时,建议学习一下scala语言,主要基于两点:
1.Spark是scala语言编写的,要想学好Spark必须研读分析它的源码,当然其他技术也不例外

2.用scala语言编写Spark程序相对于用Java更方便、简洁、开发效率更高(后续我会针对scala语言做单独讲解)。书归正传,下面整体介绍一下Spark生态圈。

Apache Spark是一种快速、通用、可扩展、可容错的、基于内存迭代计算的大数据分析引擎。首先强调一点, Spark目前是一个处理数据的计算引擎, 不做存储。首先咱们通过一张图来看看目前Spark生态圈都包括哪些核心组件:
Spark.jpg

本篇文章先简单介绍一下各个组件的使用场景,后续笔者会单独详解其中的核心组件,以下所讲均基于Spark2.X版本。

Spark RDD和Spark SQL

Spark RDD和Spark SQL多用于离线场景,但Spark RDD即可以处理结构化数据也可以处理非结构数据,但Spark SQL是处理结构化数据的,内部通过dataset来处理分布式数据集

SparkStreaming和StructuredStreaming

用于流式处理,但强调一点Spark Streaming是基于微批处理来处理数据的,即使Structured Streaming在实时方面作了一定优化,但就目前而言,相对于Flink、Storm,Spark的流式处理准备确实准实时处理

MLlib

用于机器学习,当然pyspark也有应用是基于python做数据处理

GraphX

用于图计算

Spark R

基于R语言进行数据处理、统计分析的

下面介绍一下Spark的特性:

  • 实现DAG执行引擎,基于内存迭代式计算处理数据,Spark可以将数据分析过程的中间结果保存在内存中,从而不需要反复的从外部存储系统中读写数据,相较于mapreduce能更好地适用于机器学习和数据挖掘和等需要迭代运算的场景。

  • 易用

支持scala、java、python、R多种语言;支持多种高级算子(目前有80多种),使用户可以快速构建不同应用;支持scala、python等shell交互式查询

  • 通用

Spark强调一站式解决方案,集批处理、流处理、交互式查询、机器学习及图计算于一体,避免多种运算场景下需要部署不同集群带来的资源浪费

  • 容错性好

在分布式数据集计算时通过checkpoint来实现容错,当某个运算环节失败时,不需要从头开始重新计算【往往是checkpoint到HDFS上】

  • 兼容性强

可以运行在Yarn、Kubernetes、Mesos等资源管理器上,实现Standalone模式作为内置资源管理调度器,支持多种数据源

相关文章
|
存储 分布式计算 Hadoop
和封神一起“深挖”Spark
2016云栖大会·北京峰会于8月9号在国家会议中心拉开帷幕,在云栖社区开发者技术专场中,来自阿里云技术专家曹龙(封神)为在场的听众带来《Deep dive into Spark》精彩分享。 关于分享者 曹龙,花名封神,专注在大数据领域,6年分布式引擎研发经验。先后研发上万台Hadoop、ODPS
10907 0
|
分布式计算 大数据 Scala
想成为云计算大数据Spark高手,看这里!
Spark采用一个统一的技术堆栈解决了云计算大数据的如流处理、图技术、机器学习、NoSQL查询等方面的所有核心问题,具有完善的生态系统,这直接奠定了其一统云计算大数据领域的霸主地位。
1393 0
|
存储 分布式计算 大数据
Spark初窥
标签(空格分隔): Spark [toc] intro dataset和operation Spark对数据集合的基本抽象叫做Dataset。Dataset可以从文件直接创建,也可以从其他dataset经过transform变换而来。
1489 0
|
SQL 分布式计算 安全
SparkSQL ThriftServer 安全相关功能的现状分析
SparkSQL Thrift Server 是 Spark SQL基于 Apache Hive的 HiveServer2开发的,通过SparkSQL Thrift Server 可以使 Spark SQL支持 JDBC/ODBC 的连接方式,用户可以通过 JDBC and ODBC 协议,在Spark上执行 SQL。
3466 0
|
SQL 存储 分布式计算

热门文章

最新文章