Spark内存空间管理
1. 概述 Spark应用在yarn运行模式下,其以Executor Container的形式存在,container能申请到的最大内存受yarn.scheduler.maximum-allocation-mb限制。下面说的大部分内容其实与yarn等没有多少直接关系,知识均为通用的。 ...
1. 概述 Spark应用在yarn运行模式下,其以Executor Container的形式存在,container能申请到的最大内存受yarn.scheduler.maximum-allocation-mb限制。下面说的大部分内容其实与yarn等没有多少直接关系,知识均为通用的。 ...
话说,UDP比TCP快吗? 相信就算不是八股文老手,也会下意识的脱口而出:“是”。 这要追问为什么,估计大家也能说出个大概。 但这也让人好奇,用UDP就一定比用TCP快吗?什么情况下用UDP会比用TCP慢? ...
简介 最近使用Gin 框架写接口,总是会出现一些write: connection reset by peer 或者 write: broken pipe 的错误, 在查询资料的时候,发现TCP的下面的情况可以触发一下两种错误。 另外Gin 的出现这个错误的原因这边有个分析Gin-RST 大概原因就是DB 连接池太小,有大量请求排队等待空闲链接,排队时间越长积压的请求越多,请求处理耗时越大,直到积压请求太多把句柄打满,出现了死锁。 ...
简介 总体上来说,Spark的流程和MapReduce的思想很类似,只是实现的细节方面会有很多差异。 首先澄清2个容易被混淆的概念: Spark是基于内存计算的框架 Spark比Hadoop快100倍 第一个问题是个伪命题。 任何程序都需要通过内存来执行,不论是单机程序还是分布式程序。 Spark会被称为 基于内存计算的框架 ,主要原因在于其和之前的分布式计算框架很大不同的一点是,Shuffle的数据集不需要通过读写磁盘来进行交换,而是直接通过内存交换数据得到。效率比读写磁盘的MapReduce高上好多倍,所以很多人称之为 基于内存的计算框架,其实更应该称为 基于内存进行数据交换的计算框架。 ...
基础篇 sparksql 如何加载metadata 任何的SQL引擎都是需要加载元数据的,不然,连执行计划都生成不了。 加载元数据总的来说分为两步: 加载元数据 创建会话连接Hive MetaStore 首先,Spark检测到我们没有设置spark.sql.warehouse.dir,然后就开始找我们在hite-site.xml中配置的hive.metastore.warehouse.dir。 ...
简介 当一个Spark应用提交到集群上运行时,应用架构包含了两个部分: Driver Program(资源申请和调度Job执行) Executors(运行Job中Task任务和缓存数据),两个都是JVM Process进程 Driver程序运行的位置可以通过–deploy-mode 来指定: ...
概述 在spark程序中,当一个传递给Spark操作(例如map和reduce)的函数在远程节点上面运行时,Spark操作实际上操作的是这个函数所用变量的一个独立副本。这些变量会被复制到每台机器上,并且这些变量在远程机器上的所有更新都不会传递回驱动程序。通常跨任务的读写变量是低效的,但是,Spark还是为两种常见的使用模式提供了两种有限的共享变量:广播变(broadcast variable)和累加器(accumulator) ...
介绍 Slidev 使用一种扩展的 Markdown 格式,在一个纯文本文件中存储和组织你的幻灯片。这让你专注于制作内容。而且由于内容和样式是分开的,这也使得在不同的主题之间切换变得更加容易。 ...