- 浏览: 1070060 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (345)
- Zookeeper (11)
- Hadoop (20)
- Concurrency (0)
- Linux (10)
- 语言入门 (1)
- Maven (10)
- Python (0)
- Lua (1)
- MongoDB (13)
- JSON (8)
- Gson (8)
- css (1)
- Velocity (5)
- Thrift (2)
- Struts2 (6)
- httpclient (1)
- 语言基础 (7)
- Java (12)
- Hessian (4)
- RPC (6)
- Burlap (1)
- HttpInvoker (1)
- ORM (8)
- MyBatis3 (8)
- Spring (3)
- Nginx (6)
- Log4j (2)
- EhCache (3)
- Cache (3)
- Quartz (0)
- Resin (1)
- JVM (9)
- 多线程 (2)
- 架构 (2)
- 备忘 (1)
- 分布式 (5)
- ElasticSearch (1)
- Redis (5)
- Memcached (2)
- Hive (19)
- Sqool (0)
- Storm (2)
- Pig (1)
- Sqoop (1)
- Scala (19)
- Spark (109)
- Kafka (14)
- Spark,Hadoop (1)
- Flume (3)
- Akka (1)
- Mysql (1)
- HBase (13)
- Avro (4)
- Parquet (2)
- 日志分析 (1)
- Mahout (3)
- WSO2 (0)
- 111 (1)
最新评论
-
jchubby:
关于第一个reduceByKey对应的cache,shuffl ...
【Spark三十七】Spark Cache机制 -
bo_hai:
看了你的文章,updateStateByKey 这个方式的使用 ...
【Spark八十八】Spark Streaming累加器操作(updateStateByKey) -
bo_hai:
棒极啦,解决了我的问题。
【Spark七十二】Spark的日志配置 -
tivan:
你好,这个代码生成主要在,那个地方使用。
【Spark105】Spark SQL动态代码生成一 -
zxsz4085:
看楼主这么厉害的样子,请问楼主如何知道类库的版本呢?比如g++ ...
【Thrift一】Thrift编译安装
a.基于内存
Spark将数据加载到内存中之后,此后的计算都在内存中进行,这就非常适合递归迭代的计算任务,同时对交互式即席查询型任务也能做到将数据加载到内存中,如下图所示。
b. DAG
Spark在内部将对数据的操作绘制成一张有向无环图,只有在真正需要结果的时候,才对数据依次执行这些操作。也就是说,在有向无环图中,除非需要结果而不得不进行计算时才会进行计算。否则只是进行标记操作
中间结果可复用
c. Scheduler.
任务调度系统更加细致。一个Work节点的虚拟机可以放多个任务(Task)而平行执行,它是线程级的并行,而在Hadoop中,一个任务必须开启一个虚拟机,不同的任务之间由于位于不同的JVM进程空间,只能依靠HDFS来共享数据。
在Spark中,一个作业(Job)的不同Task位于同一个虚拟机中,由于这些任务位于同一个JVM进程,因此它们可以共享JVM进程的内存空间,这样带来两个好处
1).启动任务,只需启动一个线程,这样带来的成本更低(跟Hadoop启动JVM做比较),实际上,Spark也不是启动任务启动线程,因为Spark使用线程池。
2).任务之间共享内存很容易,因为这些任务同属于一个进程内。
d.lineage(容错处理)
简单说,那个处理失败就重新计算哪个,而无需从头开始计算
A->B->C->D,假设计算D时,C出现问题,按照Hadoop的做法,此时ABCD都要重新计算,而对于Spark,只需要重新计算C,而无需计算A和B
2、 RDD
RDD可以看成Spark中内存的一个对象,如果RDD很大,那么Spark会Spill到磁盘中。
RDD的五个特性,其中一个是Partitioner,用于指定分区器。另外一个preferredLocation,它的含义是可以为RDD指定优先去哪里读数据,这是程序员干预数据本地性的一种手段。
RDD中的每个分片对应一个任务,也就是RDD处理的并行度是由分片决定的
RDD的DAG(静态)是在Driver Program中由SparkContext完成的,Driver提交作业给DAGScheduler是,已经是绘制好的DAG图,DAGScheduler会把静态的DAG图,切分为不同的Stage。
3. Driver、Master
a.Driver和Master有何区别?
b.Driver给Worker分配计算任务,而且Worker汇报计算给Driver,也就是说,Driver和Worker直接打交道以实现任务的分配和结果的汇报?
4.ShuffledMapTask和ReduceTask都运行与线程池中,也就是说它们都在Workder的Executor的线程池中运行
涂鸦二
ShuffleDependency
将Stage分开,划分为不同的Stage
NarrowDependency
将RDD划入到当前的Stage
Stage回溯是从后向前
DAGScheduler首先提交没有依赖的Stage,如果没有父Stage或者父Stage已经执行完,则提交这个Stage。计算从前往后。
把Stage如何从StageScheduler获取到
Task是通过Broadcat广播出去?所以在executor中能够获取到?
Driver是作业的主进程,创建SparkContext,解析计算生成RDD的DAG,作业的划分到不同的Stage,然后通过LaunchTask提交到Executor执行。
Driver包括作业和Executor两部分
Driver的两个层次,第一个层次是SparkContext以及围绕sc创建的sparkconf和sparkenv
第二层次是DAScheduler、TaskScheduler以及deploy部署模块,deploy部署模块给TaskScheduler使用以提交哦
作业。
Driver是Client的一部分,跟Client同一个进程(这是在client模式下吧)???
SparkContext是把用户编写的程序提交给Spark集群运行的通道
SparkConf读取java system properties的逻辑是什么?即读取哪些system properties。提交任务时
提交的参数是否会被SparkConf解析。在SparkConf中。
设置executorEnv参数,executorEnv参数以spark.executorEnv开头
设置AkkaEnv参数
设置spark.driver.host以及spark.driver.port
设置spark.master
SparkEnv包含的是
发表评论
-
【Spark109】Windows上运行spark-shell
2016-10-13 18:13 3036如何在Windows上运行spark-shell 1 ... -
【Spark108】Spark SQL动态代码生成四
2015-09-02 18:07 1868日志: 2015-09-02 14:46:27 ... -
【Spark107】Spark SQL动态代码生成三
2015-09-02 18:04 1732代码 2015-09-02 14:46:27,226 ... -
【Spark106】Spark SQL动态代码生成二
2015-09-02 18:02 1368代码 public SpecificOrdering ... -
【Spark105】Spark SQL动态代码生成一
2015-09-02 18:01 49692015-09-02 14:46:27,681-[T ... -
【Spark105】Spark任务调度
2015-07-22 16:54 0DAGScheduler负责构建具有依赖关系的任务集,Tas ... -
【Spark104】Spark源代码构建打包
2015-06-11 09:09 13481. 带有ganglia的二进制包,打包成tgz 指 ... -
【Spark103】Task not serializable
2015-06-08 20:16 9644Task not serializable是Spark开发过 ... -
【Spark102】Spark存储模块BlockManager剖析
2015-06-06 16:23 3800Spark围绕着BlockManager构建了存储模块,包 ... -
【Spark101】Scala Promise/Future在Spark中的应用
2015-06-06 15:42 1854Promise和Future是Scala用于异步调用并实现 ... -
【Spark100】Spark Streaming Checkpoint的一个坑
2015-06-06 12:22 6144Spark Streaming UI这块是本篇额外的内容, ... -
【Spark九十九】Spark Streaming的batch interval时间内的数据流转源码分析
2015-06-06 11:02 6068以如下代码为例(SocketInputDStream ... -
【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析
2015-06-06 10:36 1112在分析源代码之前,首先对Standalone Cluster ... -
【Spark九十七】RDD API之aggregateByKey
2015-06-01 21:09 65031. aggregateByKey的运行机制 / ... -
【Spark九十六】RDD API之combineByKey
2015-06-01 20:39 38961. combineByKey函数的运行机制 RDD ... -
【Spark九十五】Spark Shell操作Spark SQL
2015-04-30 18:55 8045在Spark Shell上,通过创建HiveContext可 ... -
【Spark九十四】spark-sql工具的使用
2015-04-30 18:09 3631spark-sql是Spark bin目录下的一个可执行脚 ... -
【Spark九十三】Spark读写Sequence File
2015-04-15 18:45 77471. 代码: package spark.examp ... -
【Spark九十二】Spark SQL操作Parquet格式的数据
2015-04-14 18:49 131371.关于Spark SQL操作Parquet 因为Par ... -
【Spark九十一】Spark Streaming整合Kafka一些值得关注的问题
2015-04-03 18:19 1344包括Spark Streaming在内的实时计算数据可靠性 ...
相关推荐
Spark是Apache基金会下的一个开源大数据处理框架,以其高效、易用和可扩展性著称。Spark的核心设计理念是基于内存计算,极大地提升了数据处理速度。在本压缩包中,"spark-3.4.0-bin-without-hadoop"是Spark的一个预...
Spark纯净版安装包是一个用于安装Apache Spark的软件包,该软件包提供了Spark的基本功能和组件,但不包含任何额外的扩展或依赖项。纯净版安装包旨在提供一个轻量级、简单易用的Spark安装选项,适用于用户希望快速...
在现代大数据处理领域,Spark和Spring Boot的整合已经成为一种常见的技术组合。Spark作为一个快速、通用且可扩展的大数据处理框架,而Spring Boot则为构建微服务提供了简洁、高效的解决方案。本篇文章将深入探讨如何...
Spark是Apache软件基金会下的一个开源大数据处理框架,以其高效、灵活和可扩展的特性而闻名。Spark的核心设计是基于内存计算,它极大地提高了数据处理的速度,使得数据科学家和开发人员能够在处理大规模数据集时获得...
《Spark技术深度解析》 Spark,作为大数据处理领域的重要框架,以其高效、易用和弹性伸缩等特性,被广泛应用于大规模数据处理、实时计算、机器学习和图形处理等多个场景。本篇笔记将深入探讨Spark的核心概念、架构...
《Spark技术深度解析:从SparkCount到SparkSQL与SparkStreaming》 Spark,作为大数据处理领域的重要框架,以其高效、易用的特点受到了广泛的关注。在"SparkDemo.rar"这个压缩包中,包含了三个关键领域的示例:Spark...
Spark 编程指南简体中文版 本资源为 Spark 编程指南简体中文版,涵盖了 Spark 的基本概念、数据处理、流处理、图形处理和 SQL 等方面的内容。以下是该资源中的知识点总结: Spark 基础 * Spark Shell:交互式 ...
《Spark全套视频教程》是一份全面讲解Apache Spark的教育资源,旨在帮助学习者深入理解和掌握这一强大的大数据处理框架。Spark以其高效、易用和多模态处理能力,在大数据领域备受推崇,广泛应用于数据处理、机器学习...
Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql),总结的很全面。 Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql)。 Spark零基础思维导图(内含spark-core ,spark-streaming,...
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点...
#### 二、环境准备 在开始安装之前,请确保以下条件已满足: 1. **Java 环境**:Spark 需要 Java 运行环境支持,推荐版本为 1.8 或以上。 2. **Hadoop 环境**:本教程假设已有 Hadoop 环境,并且版本不低于 2.6。 3...
在本主题中,我们将深入探讨Spark的早期版本——Spark 0.2和Spark 0.5,这两个版本对Spark的发展起到了重要的奠基作用。 **Spark 0.2** Spark 0.2是Spark的第一个公开发布的版本,它标志着Spark项目正式进入公众...
SparkTI (Spark on TiDB)是TiDB基于Apache Spark的独立于原生系统的计算引擎。它将Spark和TiDB深度集成,在原有MySQL Workload之外借助Spark支持了更多样的用户场景和API。这个项目在SparkSQL和Catalyst引擎之外实现...
【Openfire、Spark和SparkWeb】是一套开源的即时通讯解决方案,主要由Openfire服务器、Spark客户端和SparkWeb网页客户端组成。Openfire是基于XMPP协议的服务器,它提供了聊天、会议、文件传输等实时通信功能。Spark...
Spark_JAR包是Apache Spark项目的核心组件之一,它包含了运行Spark应用程序所必需的类库和依赖。Spark作为一个快速、通用且可扩展的数据处理框架,它为大数据处理提供了丰富的API,支持Scala、Java、Python和R等多种...
《大数据Spark企业级实战》详细解析了企业级Spark开发所需的几乎所有技术内容,涵盖Spark的架构设计、Spark的集群搭建、Spark内核的解析、Spark SQL、MLLib、GraphX、Spark Streaming、Tachyon、SparkR、Spark多语言...
Spark 入门实战系列,适合初学者,文档包括十部分内容,质量很好,为了感谢文档作者,也为了帮助更多的人入门,传播作者的心血,特此友情转贴: 1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建....
Apache Spark 是一个强大的分布式计算框架,它以高效、易用和通用性著称。这个压缩包包含三本书籍,分别从不同的角度深入探讨了Spark的设计、实现和源码解析,对于理解和掌握Spark的核心原理和技术至关重要。 ...
Spark3.2.2是Apache Spark的一个重要版本,它提供了许多新特性和性能优化,而适配CDH6.3.2则意味着该版本的Spark已经经过了与Cloudera Data Hub (CDH) 6.3.2的兼容性验证。CDH是一个流行的Hadoop发行版,包含了...
《Spark The Definitive Guide-201712》是大数据处理领域中一本非常重要的参考资料,由知名数据工程师及作者Bill Karwin 和 Databricks 的团队共同编写。这本书全面覆盖了Apache Spark的核心概念、技术和最佳实践,...