spark
BigDataCoder
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spark SQL / Catalyst 内部原理 与 RBO
Spark SQL 架构Spark SQL 的整体架构如下图所示从上图可见,无论是直接使用 SQL 语句还是使用 DataFrame,都会经过如下步骤转换成 DAG 对 RDD 的操作Parser 解析 SQL,生成 Unresolved Logical Plan 由 Analyzer 结合 Catalog 信息生成 Resolved Logical Plan Optimizer根据预先定义好的规则对 Resolved Logical Plan 进行优化并生成 Optimized Logic转载 2020-09-10 15:16:48 · 421 阅读 · 0 评论 -
spark sql
spark内存计算框架1.sparksql概述1.1 sparksql的前世今生Shark是专门针对于spark的构建大规模数据仓库系统的一个框架Shark与Hive兼容、同时也依赖于Spark版本Hivesql底层把sql解析成了mapreduce程序,Shark是把sql语句解析成了Spark任务随着性能优化的上限,以及集成SQL的一些复杂的分析功能,发现Hive的MapReduce思想限制了Shark的发展。最后Databricks公司终止对Shark的开发决定单独开发一个框架,不原创 2020-09-10 14:48:53 · 1080 阅读 · 0 评论 -
Spark调优
1、开发Spark项目的经验准则 (1)尽量少生成RDD; (2)尽量少对RDD进行算子操作,如果有可能,尽量在一个算子里面实现多个功能; (3)尽量少使用发生Shuffle操作的算子,如GroupByKey、ReduceBy...转载 2020-09-10 14:22:18 · 414 阅读 · 0 评论 -
题
1.为什么用zookeeper2.spark Shuffle机制?3.sortShuffle与HashShuffle区别是什么?4.spark中的RDD的Partition数是由什么决定的?5.Direct和Receiver的区别在哪?6.spark内存模型是怎样的?7.checkpoint是怎么做的,或者说使用在什么地方?8.数据仓库模型是怎样的?9.简单介绍下flink任务提交流程10.你们数据传输之间的接口大体是如何设计的?11.scala和java有什么区别?12.spark.原创 2020-09-07 11:49:15 · 690 阅读 · 0 评论 -
Spark任务提交流程
Standalone模式的启动流程submit以后,和Master通信,向Master注册生成Driver Driver和Master申请资源,Master和Worker通信,生成Executor Executor对Driver反向注册 在Driver端生成DAGScheduler和TaskScheduler 运行main函数,在运行到action算子时,DAGScheduler通过宽依赖划分Stage,生成有向无环图 每个Stage生成一个TaskSet,交给TaskSche...原创 2020-09-07 16:03:05 · 309 阅读 · 0 评论 -
Spark SQL 之 Join 实现
1. 简介Join是SQL语句中的常用操作,良好的表结构能够将数据分散在不同的表中,使其符合某种范式,减少表冗余、更新容错等。而建立表和表之间关系的最佳方式就是Join操作。Join连接是大数据处理的重要手段,它基于表之间的共同字段将来自两个或多个表的行结合起来。如今Spark SQL(Dataset/DataFrame)已经成为Spark应用程序开发的主流,作为开发者,我们有必要了解Join在Spark中是如何组织运行的。2. Join的基本要素如下图所示,Join大致包括三个要素:Join方转载 2020-09-07 10:26:53 · 329 阅读 · 0 评论 -
spark的主要知识点
1. spark的runtime这个主要是standalone模式下的master和worker,executor,driver,再加上yarn模式下的resourcemanager和nodemanager。要了解一个spark应用提交的过程,也就是driver和executor在集群管理器内部启动的过程,然后就是rpc过程,各个角色的作用。高手的问题就是如何给两者分配合适内存,然后executor执行task倾斜的表现及如何解决。这些都在星球里分享过了。然后如何对executor的存活挂掉、新增进原创 2020-09-03 10:52:13 · 153 阅读 · 0 评论 -
Spark的Shuffle(一) - SortShuffleWriter
上一篇“shuffle的一些概念”中提到了三种shuffle的方式,此处先来分析下SortShuffleWriter,结合代码一起调试下看看它内部到底是如何运行的。选择带有聚合的算子调试就行了,例如对一个pairRDD进行reduceByKey操作,然后就可以跳到对应的源码里面了,可以看出reduceByKey算子使用的是确实是SortShuffleWriter:直接跑到运行Task的代码中看它到低是如何进行Shuffle的。Ps:这里我有个疑问,我代码里面并没有选择Kryo的序列化方式,为什么这里转载 2020-09-03 10:32:11 · 275 阅读 · 0 评论 -
Spark的Shuffle之BypassMergeSortShuffleWriter
来介绍一下最后一种Shuffle的方式ByPassMergeSortShuffleWriter,它和已经废弃的HashShuffleWriter类似,区别在于map端的多个文件会被汇总成一个文件,这样就大大减少了磁盘IO的压力。 ByPassMergeSortShuffleWriter...转载 2020-08-06 10:42:56 · 809 阅读 · 0 评论
分享