spark性能优化 High Performance Spark 学习《 High Performance Spark 》持续更新中

一起学习《High Performance Spark 》 本人想在spark性能优化上深耕一下,最近在学习《High Performance Spark 》这本书,感觉收获挺大,所以和大家分享一下。下面是对书中的内容的简单记录和一些学习理解。Chapter 2. How Spark Works1、并行计算Spark与分布式存储系统(例如HDFS、Cassandra或S3)和集群管理器一起使用,集群管理器用于存储用Spark处...
摘要由CSDN通过智能技术生成

                        一起学习《 High Performance Spark 》

        本人想在spark性能优化上深耕一下,最近在学习《 High Performance Spark 》这本书,感觉收获颇大,所以和大家分享一下。下面是对书中的内容的简单记录和一些学习理解。

Chapter 2. How Spark Works

1、并行计算

Spark与分布式存储系统(例如HDFS、Cassandra或S3)和集群管理器一起使用,集群管理器用于存储用Spark处理的数据,集群管理器用于协调Spark应用程序在集群中的分布。 Spark目前支持三种类型的集群管理器:独立集群管理器、Apache Mesos和Hadoop YARN(见图2-1)。独立集群管理器包含在Spark中,但是使用独立集群管理器需要在集群的每个节点上安装Spark。

Spark Core是Spark生态系统中的主要数据处理框架,拥有Scala、Java、Python和R.的api。Spark是围绕称为弹性分布式数据集(RDDs)的数据抽象构建的。RDDs是延迟计算的 、静态类型的分布式集合的表示。RDDs有许多预定义的粗粒度转换(应用于整个数据集的函数),例如用于操作分布式数据集的map、join和reduce,以及用于在分布式存储系统和Spark jvm之间读写数据的I/O功能。

Spark有两个机器学习包:MLand、MLlib。MLlib是一个用Spark编写的机器学习和统计算法包。Spark Ml仍处于早期阶段,并且只在Spark 1.2之后才存在。Spark ml提供了比MLlib更高级的API,其目标是允许用户更容易地创建实用的机器学习管道。Spark MLlib主要构建在RDDs之上,并使用来自Spark Core的函数,而ML是构建在Spark SQL之上。

 

2、RDDs--重要

Spark允许用户为集群计算系统上的驱动程序(或主节点)编写一个程序,该程序可以并行地对数据执行操作。Spark将大型数据集表示为存储在执行器(或从节点)中的RDDs不可变的分布式对象集合。组成RDDs的对象称为分区,可以(但不需要)在分布式系统的不同节点上计算。Spark群集管理器根据Spark应用程序设置的配置参数处理在分布式系统中启动和分配Spark执行器。Spark执行引擎本身在执行器中分配数据进行计算。(见图2 - 4)。Spark并不会在驱动程序指定的时候对每个转换进行评估,而是惰性地评估RDD,只有在最终的RDD数据需要计算时才计算RDD转换(通常是通过将数据写入存储器或收集一个聚合到驱动程序)。Spark可以在Spark应用程序的整个生命周期中,将加载的RDD保存在执行程序节点的内存中,以便在重复计算中更快地访问。由于RDD是在Spar

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值