Spark
文章平均质量分 67
Nina0703
这个作者很懒,什么都没留下…
展开
-
【Spark】 Spark为啥更高效?
一 Spark为啥比Hadoop MapReduce有更快的执行速度?1)RDD的编程模型更简单。MapReduce编程模型是面向过程编程,RDD编程模型是面向对象(RDD)编程。2)DAG切分的多阶段计算过程更快速。MapReduce简单粗暴的根据shuffle将大数据计算分成Map和Reduce两个阶段。Spark会更细腻一点,将前一个Reduce和后一个Map连接起来,当做一个阶段持续计算,形成一个更加优雅、高效的计算模型。这种多个计算阶段依赖的方案可以有效减少对HDFS的访问,减少作业的调原创 2021-08-30 11:08:14 · 436 阅读 · 0 评论 -
【Spark】配置项调优
配置项可以分为三大类:硬件资源类、Shuffle类和Spark SQL类。一 硬件资源类1.1 cpu相关配置主要是配置 并行度 和 并行计算任务。1.1.1 并行度并行度,是从数据触达,明确数据划分的粒度,确定分布式数据集被划分为多少份。1.1.2 并行计算任务并行计算任务,是从计算任务、CPU出发,指的是任一时刻整个集群能够同时计算的任务数量。1.2 内存相关配置1.2.1 堆内存储与堆外存储的平衡堆外内存的传递门:****总之,与JVM堆内内存相比,堆外内存的优势是:可以更精确的原创 2021-08-23 21:34:33 · 512 阅读 · 0 评论 -
【Spark】Shuffle机制
一 Shuffle机制运行在不同stage、不同节点上的task如何进行数据传递?这个数据传递过程通常被称为Shuffle机制。该机制除了数据传递,还负进行各种类型的计算(如聚合、排序等),并且数据量一般会很大。二 Shuffle面临的一些问题2.1 map()端数据分区问题如何确认数据分区个数?用户可以自定义分区个数。用户没定义的话,默认分个数是parent RDD的分区个数的最大值。如何对map()端的输出数据进行分区?map task输出的每个<K,V>记录,都根据Key原创 2021-08-22 20:55:32 · 256 阅读 · 0 评论 -
【Spark】学习笔记
Spark是一个快速且通用的集群计算框架一、Spark的特点1.Spark是快速的:Spark扩充了流行的MapReduce计算框架Spark是基于内存的计算2.Spark是通用的:Spark的涉及容纳了其他分布式系统拥有的功能:批处理、迭代式计算、交互查询和流处理等其优势是:降低了维护的成本3.Spark是高度开放的:Spark提供了Python、Java、Scala、SQL的...原创 2018-10-26 14:45:47 · 464 阅读 · 0 评论 -
【Spark】学习笔记二——RDDs
一、一些对象1.Driver Program:包含程序的main()方法,RDDs的定义和操作,它管理很多节点,我们称之为executors2.SparkContext:Driver Program通过SparkContext对象访问Spark,SparkContext对象代表和一个集群的连接3.在shell中SparkContext对象自动创建好了,就是sc,可以在shell中直接使用sc...原创 2018-10-26 15:57:39 · 490 阅读 · 0 评论