Spark 开发原则坐享其成要省要拖跳出单机思维 应用开发原则 :坐享其成 : 利用 Spark SQL 优化能省则省、能拖则拖 : 节省数据量 , 拖后 Shuffle跳出单机思维 : 避免无谓的分布式遍历坐享其成设置好配置项,享受 Spark SQL 的性能优势,如钨丝计划、AQE、SQL functions钨丝计划:Tungsten 自定义了紧凑的二进制格式的数据结构,避免了 Java 对
转载 2024-01-28 01:18:02
100阅读
1点赞
Spark扩展持久化RDD Cache缓存RDD CheckPoint 检查点缓存和检查点区别自定义分区存储与读取累加器广播持久化RDD Cache缓存RDD 通过 Cache 或者 Persist 方法将前面的计算结果缓存,默认情况下会把数据以缓存在 JVM 的堆内存中。但是并不是这两个方法被调用时立即缓存,而是触发后面的 action 算子时,该 RDD 将会被缓存在计算节点的内存中,并供后面重用。// cache 操作会增加血缘关系,不改变原有的血缘关系println(wordToOneR.
原创 2022-03-23 10:21:17
998阅读
一、什么是SparkApache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架。Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因
转载 2023-07-12 09:57:21
441阅读
一、定义与特点定义 专为大规模数据处理而设计的快速通用的计算引擎,并形成一个高速发展应用广泛的生态系统。特点 速度快 内存计算下,Spark 比 Hadoop 快100倍易用性 80多个高级运算符跨语言:使用Java,Scala,Python,R和SQL快速编写应用程序。通用性 Spark 提供了大量的库,包括SQL、DataFrames、MLib、Gra
转载 2023-08-10 09:12:39
366阅读
1、Application  application(应用)其实就是用spark-submit提交的程序。一个application通常包含三部分:从数据源(比方说HDFS)取数据形成RDD,通过RDD的transformation和action进行计算,将结果输出到console或者外部存储。2、Driver  Spark中的driver感觉其实和yarn中Application Master的
Spark官方文档: Spark Configuration(Spark配置)Spark主要提供三种位置配置系统:环境变量:用来启动Spark workers,可以设置在你的驱动程序或者conf/spark-env.sh 脚本中;java系统性能:可以控制内部的配置参数,两种设置方法:编程的方式(程序中在创建SparkContext之前,使用System.setProperty(“xx”,“xxx
原创 2017-07-03 11:19:00
6469阅读
1点赞
spark架构设计 1 角色名称 Client,Driver program,cluster manager/Yarn,workerNode 2 角色作用 client:用户通过client提交application程序,shell命令等 Driver:启动sparkContext环境,将application程序转换成任务RDD和DAG有向图,与clustermanger进行资源交互,分配ta
引入 一般来说,分布式数据集的容错性有两种方式:数据检查点和记录数据的更新。 面向大规模数据分析,数据检查点操作成本非常高,须要通过数据中心的网络连接在机器之间复制庞大的数据集,而网络带宽往往比内存带宽低得多,同一时候还须要消耗很多其它的存储资源。 因此,Spark选择记录更新的方式。可是,假设更新
转载 2017-07-13 21:10:00
2606阅读
2评论
一、官网介绍 1 什么是Spark 官网地址:://spark.apache.org/ Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce ...
转载 2021-08-03 09:25:00
2527阅读
2评论
一、分区的概念 分区是RDD内部并行计算的一个计算单元,RDD的数据集在逻辑上被划分为多个分片,每一个分片称为分区,分区的格式决定了并行计算的粒度,而每个分区的数值计算都是在一个任务中进行的,因此任务的个数,也是由RDD(准确来说是作业最后一个RDD)的分区数决定。 二、为什么要进行分区 数据分区, ...
转载 2021-08-03 14:38:00
3049阅读
2评论
本编主要基于B站尚硅谷的视频及文档做出的一些改写和添加自己的理
原创 2022-03-23 10:24:56
832阅读
在大数据处理的过程中,Apache Spark 是一个非常重要的工具,尤其是在执行数据分析时。使用 `spark shell` 通过 Spark 链接 Spark 集群时,有时会遇到一系列复杂的问题。本篇博文旨在对解决“spark shell 链接spark”的过程进行全面梳理。 ## 环境配置 首先,我们需要配置 Spark 环境。这包含Java和Scala的安装,以及对Spark的配置。在这
原创 5月前
61阅读
# 监控Spark History的入门指南 作为一名刚入行的开发者,监控Spark History可能是一个令人生畏的任务。但不用担心,本文将引导你一步步实现监控Spark History的过程。通过本文,你将学会如何设置和使用Spark监控工具,确保你的Spark作业运行得更加高效和稳定。 ## 监控Spark History的流程 首先,让我们通过一个表格来了解整个监控流程的步骤:
原创 2024-07-30 11:25:29
641阅读
Apache Spark 是一个开源的统一分析引擎,能够快速、通用地处理大规模数据集,而 “Spark” 通常是指其架构及功能的简写。在本文中,我们将探讨如何解决“Apache SparkSpark”的问题,包括环境准备、分步指南、配置详解、验证测试、优化技巧和排错指南。 ## 环境准备 确保在你的计算机上安装 Apache Spark 之前,必须满足一些前置依赖。以下是需要安装的组件及
原创 6月前
42阅读
文章目录行动操作Action算子概念Action函数 行动操作在spark当中RDD的操作可以分为两种,一种是转化操作(transformation),另一种是行动操作(action)。在转化操作当中,spark不会为我们计算结果,而是会生成一个新的RDD节点,记录下这个操作。只有在行动操作执行的时候,spark才会从头开始计算整个计算。而转化操作又可以进一步分为针对元素的转化操作以及针对集合的
转载 2023-06-19 07:00:10
144阅读
对待 Spark 的 event log 不能像其他普通应用程序的日志那样,简单切割,然后删除很早之前的日志,而需要保证 Spark 的历史服务器能够解析已经 Roll 出来的日志,并且在 Spark UI 中展示出来,以便我们进行一些查错、调优等。 背景相信经常使用 Spark 的同学肯定知道 Spark 支持将作业的 event log 保存到持久化设备。默认这个功能是关闭的,不过
转载 2023-10-07 13:18:14
194阅读
概述Spark 应用程序由一个在集群上运行着用户的 main 函数和执行各种并行操作的 driver program(驱动程序)组成。Spark 提供的主要抽象是一个弹性分布式数据集(RDD)RDD 可以从一个 Hadoop 文件系统或其他地方获得。了让它在整个并行操作中更高效的重用,也许会让 Spark persist(持久化)一个 RDD 到内存中。最后,RDD 会自动的从节点故障中恢复。Sp
转载 2023-09-13 20:36:07
118阅读
一、scalascala是一种基于JVM的面向对象的函数编程,scala编程相对于java而言代码整洁、开发效率更高。其中scala优点主要有:1:面向对象,可以定义class,通过new调用实例对象使用。2:兼容java,在scala中可以直接调用java方法。2:函数式编程,柯里化函数,匿名函数,高阶函数等。3:代码行简单。4:支持并发控制,Actor Model机制5:目前比较流行的kafk
sparkSpark简述**SparkCore**1.RDD概念RDD的五大特性:RDD理解图注意2.Spark代码流程3. Transformations转换算子概念Transformation类算子:4. Action行动算子概念Action类算子5.控制算子概念cachepersist**cache和persist的注意事项:**checkpointcheckpoint 的执行原理:优化集
转载 2023-05-26 00:37:17
199阅读
ShuffleReader1.概述2.RDD数据缓存级别3.获取RDD的分区数据迭代器3.1.RDD#iterator3.1.1.RDD#getOrCompute-从缓存中获取数据迭代器3.1.1.1.BlockManager#getOrElseUpdate-获取数据3.1.1.1.1.BlockManager#get-获取缓存数据3.1.1.1.1.1.BlockManager#getLoca
转载 2024-01-14 20:41:27
70阅读
  • 1
  • 2
  • 3
  • 4
  • 5