yetang307

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  129 随笔 :: 0 文章 :: 1 评论 :: 2389 阅读

01 2024 档案

摘要:由于缺乏或者不准确的数据统计信息(元数据)和对成本的错误估算(执行计划调度)导致生成的初始执行计划不理想 在Spark3.x版本提供Adaptive Query Execution自适应查询技术 通过在”运行时”对查询执行计划进行优化, 允许Planner在运行时执行可选计划,这些可选计划将会基于运 阅读全文
posted @ 2024-01-31 21:46 椰糖 阅读(4) 评论(0) 推荐(0) 编辑

摘要:1. DataFrame因为存储的是二维表数据结构,可以被针对,所以可以 自动优化执行流程。 2. 自动优化依赖Catalyst优化器 3. 自动优化2个大的优化项是:1. 断言(谓词)下推(行过滤) 2. 列 值裁剪(列过滤) 4. DataFrame代码在被优化有,最终还是被转换成RDD去执行 阅读全文
posted @ 2024-01-30 22:52 椰糖 阅读(9) 评论(0) 推荐(0) 编辑

摘要:1. SparkSQL支持UDF和UDAF定义,但在Python中,暂时只能定义 UDF 2. UDF定义支持2种方式, 1:使用SparkSession对象构建. 2: 使用 functions包中提供的UDF API构建. 要注意, 方式1可用DSL和SQL 风格, 方式2 仅可用于DSL风格 阅读全文
posted @ 2024-01-29 22:57 椰糖 阅读(7) 评论(0) 推荐(0) 编辑

摘要:1. DataFrame 在结构层面上由StructField组成列描述,由 StructType构造表描述。在数据层面上,Column对象记录列数据 ,Row对象记录行数据 2. DataFrame可以从RDD转换、Pandas DF转换、读取文件、读取 JDBC等方法构建 3. spark.re 阅读全文
posted @ 2024-01-28 22:33 椰糖 阅读(2) 评论(0) 推荐(0) 编辑

摘要:DataFrame是一个二维表结构, 那么表格结构就有无法 绕开的三个点 行 列 表结构描述 比如,在MySQL中的一张表: 由许多行组成 数据也被分成多个列 表也有表结构信息(列、列名、列类型、列约束等) 基于这个前提,DataFrame的组成如下: 在结构层面: - StructType对象描述 阅读全文
posted @ 2024-01-27 23:24 椰糖 阅读(6) 评论(0) 推荐(0) 编辑

摘要:1. SparkSQL 和 Hive同样,都是用于大规模SQL分布式计算的计算框 架,均可以运行在YARN之上,在企业中广泛被应用 2. SparkSQL的数据抽象为:SchemaRDD(废弃)、DataFrame( Python、R、Java、Scala)、DataSet(Java、Scala)。 阅读全文
posted @ 2024-01-26 22:13 椰糖 阅读(4) 评论(0) 推荐(0) 编辑

摘要:1. DAG是什么有什么用? DAG有向无环图, 用以描述任务执行流程,主要作用是协助DAG调度器构建Task分配用以做任务管理 2. 内存迭代\阶段划分? 基于DAG的宽窄依赖划分阶段,阶段内部都是窄依赖可以构建内存迭代的管道 3. DAG调度器是? 构建Task分配用以做任务管理 1. Spar 阅读全文
posted @ 2024-01-25 19:41 椰糖 阅读(3) 评论(0) 推荐(0) 编辑

摘要:spark 的shuffle调优:主要是调整缓冲的大小,拉取次数重试重试次数与等待时间,内存比例分配,是否进行排序操作等等 spark.shuffle.file.buffer 参数说明:该参数用于设置shuffle write task的BufferedOutputStream的buffer缓冲大小 阅读全文
posted @ 2024-01-24 20:49 椰糖 阅读(1) 评论(0) 推荐(0) 编辑

摘要:bypass运行机制的触发条件如下: 1)shuffle map task数量小于spark.shuffle.sort.bypassMergeThreshold=200参数的值。 2)不是map combine聚合的shuffle算子(比如reduceByKey有map combie) 总结:  阅读全文
posted @ 2024-01-23 23:09 椰糖 阅读(3) 评论(0) 推荐(0) 编辑

摘要:SortShuffleManager的运行机制主要分成两种,一种是普通运行机制,另一种是bypass运行机制。当shuffle write task的数量小于等于spark.shuffle.sort.bypassMergeThreshold参数的值时(默认为200),就会启用bypass机制。 (1 阅读全文
posted @ 2024-01-21 18:43 椰糖 阅读(5) 评论(0) 推荐(0) 编辑

摘要:Shuffle阶段划分: shuffle write:mapper阶段,上一个stage得到最后的结果写出 shuffle read :reduce阶段,下一个stage拉取上一个stage进行合并 1)未经优化的hashShuffleManager: HashShuffle是根据task的计算结果 阅读全文
posted @ 2024-01-20 22:43 椰糖 阅读(2) 评论(0) 推荐(0) 编辑

摘要:1. 广播变量解决了什么问题? 分布式集合RDD和本地集合进行关联使用的时候, 降低内存占用以及减少网络IO传输, 提高性能. 2. 累加器解决了什么问题? 分布式代码执行中, 进行全局累加 Spark的核心是根据RDD来实现的,Spark Scheduler则为Spark核心实现的重要一环,其作用 阅读全文
posted @ 2024-01-19 23:14 椰糖 阅读(2) 评论(0) 推荐(0) 编辑

摘要:2. 为什么要在全部的服务器安装jieba库? 因为YARN是集群运行, Executor可以在所有服务器上执行, 所以每个服务器都需要有jieba库提供支 撑 3. 如何尽量提高任务计算的资源? 计算CPU核心和内存量, 通过--executor-memory 指定executor内存, 通过-- 阅读全文
posted @ 2024-01-18 23:09 椰糖 阅读(5) 评论(0) 推荐(0) 编辑

摘要:Cache和Checkpoint区别 Cache是轻量化保存RDD数据, 可存储在内存和硬盘, 是分散存储, 设计上数据是不安全的(保留RDD 血缘关系) CheckPoint是重量级保存RDD数据, 是集中存储, 只能存储在硬盘(HDFS)上, 设计上是安全的(不保留 RDD血缘关系) 2. Ca 阅读全文
posted @ 2024-01-17 23:12 椰糖 阅读(5) 评论(0) 推荐(0) 编辑

摘要:1. RDD创建有哪几种方法? 通过并行化集合的方式(本地集合转分布式集合) 或者读取数据的方式创建(TextFile\WholeTextFile) 2. RDD分区数如何查看? 通过 getNumPartitions API 查看, 返回值Int 3. Transformation 和 Actio 阅读全文
posted @ 2024-01-16 22:29 椰糖 阅读(1) 评论(0) 推荐(0) 编辑

摘要:RDD 数据结构内部有五个特性(摘录RDD 源码): 前三个特征每个RDD都具备的,后两个特征可选的。 Spark RDD 编程的程序入口对象是SparkContext对象(不论何种编程语言) 只有构建出SparkContext, 基于它才能执行后续的API调用和计算 本质上, SparkConte 阅读全文
posted @ 2024-01-15 22:08 椰糖 阅读(3) 评论(0) 推荐(0) 编辑

摘要:分布式计算需要: • 分区控制 • Shuffle控制 • 数据存储\序列化\发送 • 数据计算API • 等一系列功能 这些功能, 不能简单的通过Python内置的本地集合对象(如 List\ 字典等)去完成. 我们在分布式框架中, 需要有一个统一的数据抽象对象, 来实现上述分布式计算所需功能. 阅读全文
posted @ 2024-01-14 22:29 椰糖 阅读(8) 评论(0) 推荐(0) 编辑

摘要:Spark解决什么问题? 海量数据的计算,可以进行离线批处理以及实时流计算 Spark有哪些模块? 核心SparkCore、SQL计算(SparkSQL)、流计算(SparkStreaming )、图计算(GraphX)、机器学习(MLlib) Spark特点有哪些? 速度快、使用简单、通用性强、多 阅读全文
posted @ 2024-01-13 23:15 椰糖 阅读(4) 评论(0) 推荐(0) 编辑

摘要:Spark提供多种运行模式,包括:  本地模式(单机) 本地模式就是以一个独立的进程,通过其内部的多个线程来模拟整个Spark运行时环境  Standalone模式(集群) Spark中的各个角色以独立进程的形式存在,并组成Spark集群环境  Hadoop YARN模式(集群) Spark中 阅读全文
posted @ 2024-01-12 23:08 椰糖 阅读(4) 评论(0) 推荐(0) 编辑

摘要:park 框架模块包含:Spark Core、 Spark SQL、 Spark Streaming、 Spark GraphX、 Spark MLlib,而后四项的能力都是建立在核心引擎之上 Spark Core:Spark的核心,Spark核心功能均由Spark Core模块提供,是Spark运 阅读全文
posted @ 2024-01-11 20:54 椰糖 阅读(3) 评论(0) 推荐(0) 编辑

摘要:由于Apache Spark支持内存计算,并且通过DAG(有向无环图)执行引擎支持无环数据流,所以官方宣称其在内存中的运算速度要比 Hadoop的MapReduce快100倍,在硬盘中要快10倍。 Spark处理数据与MapReduce处理数据相比,有如下两个不同点:  其一、Spark处理数据时 阅读全文
posted @ 2024-01-10 23:39 椰糖 阅读(1) 评论(0) 推荐(0) 编辑

摘要:1.1 Spark是什么 定义:Apache Spark是用于大规模数据(large-scala data)处理的统一(unified)分析引擎。 Spark 最早源于一篇论文 Resilient Distributed Datasets: A Fault-Tolerant Abstraction 阅读全文
posted @ 2024-01-10 23:39 椰糖 阅读(1) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示