Spark
文章平均质量分 93
Z_Data
大学计算机专业老师一枚,高级开发工程师,专注大数据相关技术分享,实战项目开发。
展开
-
Spark运行架构
Spark Core包含Spark最基础和最核心的功能,当提及Spark运行架构时,就是指Spark Core的运行架构。本节首先介绍Spark的基本概念和架构设计,然后介绍Spark运行基本流程,最后介RDD 的设计与运行原理。原创 2024-04-12 15:37:52 · 905 阅读 · 0 评论 -
Scala基础(一)——常用数据类型
在Scala中,使用val关键字定义一个常量,使用var关键字定义一个变量。1.常量 在程序运行过程中值不会发生变化的量为常量或值,常量通过val关键字定义,常量一旦定义就不可更改,即不能对常量进行重新计算或重新赋值。 定义一个常量的语法格式如下。 val关键字后以依次跟着的是常量名、冒号“:”、数据类型、赋值运算符“=”和初始值。 数组是Scala中常用的一种数据结构,数组是一种存储了相同类型元素的固定大小的顺序集合。Scala定义一个数组的语法格式如下。原创 2023-04-04 16:49:01 · 862 阅读 · 0 评论 -
spark调优的几种方法
spark.shuffle.file.buffer 默认值是32kmap side task的内存buffer大小,写数据到磁盘文件之前,会先保存在缓冲中,如果内存充足,可以适当加大,从而减少map side磁盘IO次数,提升性能spark.reducer.maxSizeInFlight 默认值是48mreduce task的buffer缓冲,代表了每个reduce task每次能够拉...原创 2019-02-23 17:38:06 · 1165 阅读 · 0 评论 -
spark任务的提交执行流程
极简版:1,Driver端向Master发送任务信息2,Master接收到任务信息后,把任务信息放到一个队列中3,Master找到比较空闲的Worker,并通知Worker来拿取任务信息4,Worker向Master拿取任务信息,同时启动Executor子进程5,Executor启动后,开始向Driver端反向注册6,Driver开始向向相应Executor发送任务(tas...原创 2019-02-23 17:35:11 · 584 阅读 · 0 评论 -
foreach和map的区别
map一个是Transformationforeach是actionmap()是将函数用于RDD中的每个元素,将返回值构成新的RDD。而foreach是我们的方法被传入了迭代器foreach(每个元素遍历执行一次函数)...原创 2019-02-23 17:34:15 · 697 阅读 · 0 评论 -
flatMap和map的区别
map()是将函数用于RDD中的每个元素,将返回值构成新的RDD。map的作用是对rdd之中的元素进行逐一进行函数操作映射为另外一个rdd。flatMap的操作是将函数应用于rdd之中的每一个元素,将返回的迭代器的所有内容构成新的rdd。通常用来切分单词。map函数会对每一条输入进行指定的操作,然后为每一条输入返回一个对象;而flatMap函数则是两个操作的集合——正是“先映射后扁平化”...原创 2019-02-23 17:33:35 · 1389 阅读 · 2 评论 -
什么是RDD以及RDD的五大基本属性
什么是RDDRDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。RDD的五大基本属性1)A li...原创 2019-02-23 17:29:34 · 3742 阅读 · 0 评论 -
stage,task和job的区别与划分方式
Application用户构建在 Spark 上的程序。由集群上的一个 driver 程序和多个 executor 组成。Worker node任何在集群中可以运行应用代码的节点。Executor一个为了在 worker 节点上的应用而启动的进程,它运行 task 并且将数据保持在内存中或者硬盘存储。每个应用有它自己的 Executor。Job:一个由多个任务组成的并行计算...原创 2019-02-23 17:28:23 · 4913 阅读 · 0 评论 -
spark的shuffle有几种方式
shuffle过程中分为shuffle write和shuffle read,而且会在不同的stage中进行的 在进行一个key对应的values的聚合时, 首先,上一个stage的每个map task就必须保证将自己处理的当前分区中的数据相同key写入一个分区文件中,可能会多个不同的分区文件,接着下一个stage的reduce task就必须从上一个stage的所有task所在的节点上,将各个t...原创 2019-02-23 17:24:45 · 2749 阅读 · 0 评论 -
线程安全问题解决方式
加载规则库信息的线程安全问题定义10分钟更新一次规则库,尽管有多个线程,只能是10分钟一个线程访问一次规则库实现方式: 获取当前的时间戳,然后解析出分钟数,判断分钟数是否能被10整除,如果能就加载一次 Boolean tag = false; if(时间是否满足能被10整除) { if(tag) { 更新规则库...原创 2019-02-23 17:22:32 · 273 阅读 · 0 评论 -
Spark算子总结,RDD类型,依赖关系
版权声明:本文为博主原创文章,转载请标明出处。https://blog.csdn.net/kXYOnA63Ag9zqtXx0/article/details/82954503 https://blog.csdn.net/forever428/article/details/85757353 </div> &...转载 2019-01-05 09:39:37 · 585 阅读 · 0 评论