
spark学习
文章平均质量分 93
立君在学习
从啥也不会到啥也会
展开
-
分布式领域计算模型及Spark&Ray实现对比
前面的章节首先对分布式计算领域进行了概述,同时对Spark和Ray的调度设计进行了简要的介绍。我们可以发现,Spark和Ray之所以会采用不同的调度设计,主要原因还在于它们的目标场景的需求差异。Spark当前的核心场景还在于批量的数据计算,在这样的需求场景下我们可以假设数据依赖图是较为简单的,不存在单个分区的任务依赖图、对于同一个分布式数据的不同分区,执行的任务都是同质化的,因此它采用了集中式调度、DAG依赖分析、批量调度等设计方案。原创 2024-05-05 22:58:10 · 2130 阅读 · 2 评论 -
Spark SQL兼容Hive及扩展
前言 相比于Shark对Hive的过渡依赖,Spark SQL在Hive兼容层面仅依赖HQL Parser、Hive Metastore和Hive SerDes。也就是说,从HQL被解析成抽象语法树(AST)起,就全部由Spark SQL接管了,执行计划生成和优化都由Catalyst负责。本文接下来对于Spark SQL在兼容Hive过程中对于Catalog,SqlParser,A原创 2017-11-28 14:03:22 · 4544 阅读 · 1 评论 -
Spark调优(数据序列化和内存调优)
翻译自Spark官网文档:https://spark.apache.org/docs/2.1.0/tuning.html前言 由于大多数Spark计算的内存使用特性,集群中的任何资源都可能成为Spark计算程序中的瓶颈:CPU,网络带宽或是内存。大多数情况下,如果内存可以容纳数据量,那么瓶颈就会是网络带宽,但有时,用户也需要去做一点调优的工作,例如以序列化的格式存翻译 2017-12-06 11:44:21 · 15669 阅读 · 0 评论 -
Dataset API的执行计划构建和执行
通过Dataset API,我们可以直接在数据上执行关系型操作,这一功能主要是借助了Spark SQL的一些核心功能。本文主要分析Dataset API和Spark SQL模块之间的关联关系一、Dataset初始化 Dataset类有两个构造参数,SparkSession和LogicalPlan Dataset API的执行计划构建和执行 > image2017-1原创 2017-11-24 14:16:01 · 737 阅读 · 0 评论 -
Spark SQL核心类解析
一、执行计划实体相关 Tree是Catalyst执行计划表示的数据结构。LogicalPlans,Expressions和Pysical Operators都可以使用Tree来表示。Tree具备一些Scala Collection的操作能力和树遍历能力。 Tree提供三种特质:UnaryNode:一元节点,即只有一个子节点BinaryNode:二元节点,即原创 2017-11-24 14:15:10 · 3098 阅读 · 1 评论 -
Spark SQL运行原理
文章内容摘自>详细内容请参考书中原文一、简介 介绍Spark SQL,就不得不提Hive和Shark。Hive是Shark的前身,Shark是Spark SQL的前身。 Shark是由伯克利实验室技术团队开发的Spark生态环境组件之一,它扩展了Hive并修改了Hive架构中的内存管理、物理计划和执行3个模块,使之可以运行在Spark引擎上。大大加快了在内存和磁原创 2017-11-22 20:09:07 · 6869 阅读 · 2 评论 -
Spark2.2-persist checkpoint lineage解析
源码版本: 2.2如有错误请指正一、背景 Spark中每一个RDD都记录它的血缘lineage,根据lineage,我们可以实现容错机制和数据重用。 相比其他系统的细颗粒度的内存数据更新级别的备份或者LOG机制,RDD的Lineage记录的是粗颗粒度的特定数据Transformation操作(如filter、map、join等)行为。当这个RDD的部分分原创 2017-11-02 15:27:26 · 1097 阅读 · 0 评论 -
Spark2.2-Task序列化源码解析
源码版本:2.2如有错误请指正一、前言 Spark在运行应用程序时,会根据RDD的操作,将数据处理流程划分为多个stage进行计算,其中划分stage的依据是数据是否产生shuffle。在同一个stage中,RDD之间的依赖都是窄依赖。一个stage下会有多个task,每个task针对不同的分区数据执行同样的运算逻辑。 在Spark集群模式下,多个不同的原创 2017-10-24 15:26:48 · 1215 阅读 · 2 评论 -
Spark SQL, DataFrames and Datasets Guide
http://spark.apache.org/docs/latest/sql-programming-guide.html一、概览 Spark SQL是Spark一个用于结构化数据处理的模块。和基础的Spark RDD API不同,Spark SQL提供的接口中提供了更多关于与实际数据和正在执行的计算相关的结构化信息。在内部,Spark SQL这些额外的信息来进行额外的优化翻译 2017-10-22 17:13:31 · 696 阅读 · 0 评论 -
Spark2.2任务提交运行机制及源码解析
源码版本:2.2参考《Spark内核机制解析及性能调优》如有错误请指正一、Spark运行的核心概念Spark调度器的设计体现得非常简洁清晰和高效,其输入是Spark RDD,输出是Spark执行器(Executor)。正是Spark调度器的设计思想极大地区分出了基于MapReduce模型的Hadoop和基于DAG模型的Spark。主要内容包括Spark运行核心概原创 2017-10-19 16:27:43 · 2711 阅读 · 1 评论