BigData - Spark - Core
Spark 框架 ★★★★★
BF-LoneSilverWind
睿智 灵动 从容 淡定
展开
-
Spark优化
1. 资源调优1) 在部署spark集群中指定资源分配的默认参数在spark安装包的conf下spark-env.shSPARK_WORKER_CORESSPARK_WORKER_MEMORYSPARK_WORKER_INSTANCES 每台机器启动worker数2) 在提交Application的时候给当前的Application分配更多的资源提 交命令选项:(在提交Applica...原创 2020-01-10 18:56:48 · 190 阅读 · 0 评论 -
Spark广播变量 Scala&Java版本代码格式
Scala版本定义发送广播变量:val broadcast = sparkContext.broadcast(…)获取广播变量:broadcast.valueJava版本定义发送广播变量:Broadcast<?> blackname = sparkContext.broadcast(…);获取广播变量:broadcast.getValue();...原创 2020-01-09 20:36:31 · 265 阅读 · 0 评论 -
打印Spark RDD中的内容
打印Spark RDD中的内容一、方法 两种方式:rdd.collect().foreach {println}rdd.take(10).foreach { println }//take(10) 取前10个二、例子val logData = sparkcontext.textFile(logFile, 2).cache() ? ?logData.collect().fore...原创 2019-12-31 16:25:37 · 860 阅读 · 0 评论 -
Spark 背诵流程
谈谈Spark------速度Spark是一个批处理计算引擎,它的运行速度非常快,在迭代场景下甚至比MR快100倍------易用(API)可以使用Java,scala,Python,R和Sql来快速编写程序------普遍支持一站式开发,基本上只需安装spark即可------多处运行可以运行在hadoop mesos Kubernetes 等…local Standalon...原创 2019-12-29 22:46:24 · 505 阅读 · 0 评论 -
Spark背诵流程中问题
为什么Spark比MR快100倍?在迭代场景下甚至比MR快100,指的是在机器学习和不断迭代场景下,其他情况,没有这么夸张. 磁盘IO是数据读写的瓶颈 与hdfs相比spark将数据存储在内存中 忽略了磁盘IO 而hdfs多次读写磁盘IO因此spark更快Spark为什么速度快?1.使用内存计算(这里指省略了多次的磁盘IO读写)2.DAGScheduler(使用有向无环图调度器)3.…...原创 2019-12-29 22:50:18 · 114 阅读 · 0 评论 -
Spark 源码结论
整体流程构造器 → onstart → receive → onstop结论1:当自己没有配置--executor-cores参数时,默认每个worker为当前application启动一个executor结论2:如果没有设置--total-executor-cores,则集群默认将剩余的核数全部分配给当前的application结论3:spreadOut:决定是否分散启...原创 2019-12-30 13:54:23 · 140 阅读 · 0 评论 -
Scala & Spark 内容目录
1.1 Scala 6大特性&安装Scala六大特性Scala安装及配置1.2 Scala基础1.数据类型2.变量和常量的声明3.类和对象4.if else5.for ,while,do…while1.3 Scala函数1.Scala函数的定义2.递归函数3.包含参数默认值的函数4.可变参数个数的函数5.匿名函数6.嵌套函数7.偏应用函数8.高阶函数...原创 2019-12-23 22:14:51 · 106 阅读 · 0 评论 -
1. Spark简介&特性...
1.Spark概述Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行计算框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS...原创 2019-12-25 21:03:36 · 204 阅读 · 0 评论 -
2. RDD 概念&5大特性
1. RDD概念RDD(Resilient Distributed Dataset),弹性分布式数据集。★RDD的五大特性:1. RDD是由一系列的partition组成的。A list of partitions2. 函数是作用在每一个partition(split)上的。A function for computing each split3. RDD之间有一系列的依赖关系。...原创 2019-12-25 21:44:10 · 284 阅读 · 0 评论 -
3. Spark任务执行原理
Spark任务执行原理以上图中有四个机器节点,Driver和Worker是启动在节点上的进程,运行在JVM中的进程。Driver与集群节点之间有频繁的通信。Driver负责任务(tasks)的分发和结果的回收。任务的调度。如果task的计算结果非常大就不要回收了。会造成oom。Worker是Standalone资源调度框架里面资源管理的从节点。也是JVM进程。Master是Stand...原创 2019-12-27 21:25:53 · 109 阅读 · 0 评论 -
4. Spark代码流程
Spark代码流程1. 创建SparkConf对象可以设置Application name。可以设置运行模式及资源需求。java示例: SparkConf conf = new SparkConf(); conf.setMaster("local").setAppName("wordcount");scala示例: val conf = new SparkConf(...原创 2019-12-27 21:36:05 · 153 阅读 · 0 评论 -
6. Spark任务运行流程 待进一步完善
StandaloneStandalone-clientStandalone-clusterYarnYarn-clientYarn-cluster原创 2019-12-27 19:03:22 · 164 阅读 · 0 评论 -
7. RDD 窄依赖&宽依赖
窄依赖和宽依赖RDD之间有一系列的依赖关系,依赖关系又分为窄依赖和宽依赖。窄依赖 ---- 减少或不变父RDD和子RDD partition之间的关系是一对一的。或者父RDD和子RDD partition关系是多对一的。不会有shuffle的产生。宽依赖 ---- 增多父RDD与子RDD partition之间的关系是一对多。会有shuffle的产生。宽窄依赖图理解...原创 2019-12-27 21:41:23 · 157 阅读 · 0 评论 -
8. Stage的切割规则&计算模式
StageSpark任务会根据RDD之间的依赖关系,形成一个DAG有向无环图,DAG会提交给DAGScheduler,DAGScheduler会把DAG划分相互依赖的多个stage,划分stage的依据就是RDD之间的宽窄依赖。遇到宽依赖就划分stage,每个stage包含一个或多个task任务。然后将这些task以taskSet的形式提交给TaskScheduler运行。stage是由一组并...原创 2019-12-27 21:51:51 · 289 阅读 · 0 评论 -
9. Spark资源调度和任务调度
Spark资源调度和任务调度RDD: 弹性分布式数据集DAG: 有向非循环图 (directed acyclic graph)Scheduler: 调度器Task: 任务Executor: 计算节点Application的组成Application <- job <- stage <- task 从大到小Spark资源调度和任务调度的流程:启动集群后,Wor...原创 2019-12-27 22:29:12 · 267 阅读 · 0 评论 -
10. SparkShuffle & 文件寻址
1. SparkShuffle概念reduceByKey会将上一个RDD中的每一个key对应的所有value聚合成一个value,然后生成一个新的RDD,元素类型是<key,value>对的形式,这样每一个key对应一个聚合起来的value。问题:聚合之前,每一个key对应的value不一定都是在一个partition中,也不太可能在同一个节点上,因为RDD是分布式的弹性的数据集,...原创 2019-12-29 19:23:25 · 159 阅读 · 0 评论 -
11. Spark内存管理
描述:Spark执行应用程序时,Spark集群会启动Driver和Executor两种JVM进程,Driver负责创建SparkContext上下文,提交任务,task的分发等。Executor负责task的计算任务,并将结果返回给Driver。同时需要为需要持久化的RDD提供储存。Driver端的内存管理比较简单,这里所说的Spark内存管理针对Executor端的内存管理。Spark内存管...原创 2019-12-29 19:33:05 · 119 阅读 · 0 评论 -
12. Shuffle调优
1. SparkShuffle调优配置项1). 在代码中,不推荐使用,硬编码。new SparkConf().set(“spark.shuffle.file.buffer”,”64”)2). 在提交spark任务的时候,推荐使用。spark-submit --conf spark.shuffle.file.buffer=64 –conf ….3). 在conf下的spark-defau...原创 2019-12-29 20:56:34 · 93 阅读 · 0 评论 -
C 01. Spark搭建 未完成
C 01. Spark搭建 未完成原创 2019-12-29 21:57:55 · 253 阅读 · 0 评论