- 博客(8)
- 资源 (1)
- 收藏
- 关注
转载 Spark-master参数及部署方式
我们在初始化SparkConf时,或者提交Spark任务时,都会有master参数需要设置,如下:conf = SparkConf().setAppName(appName).setMaster(master)sc = SparkContext(conf=conf)/bin/spark-submit \ --cluster cluster_name \ --master yarn-cluster \ ...但是这个master到底是何含义呢?文档说是
2021-12-29 22:58:12
2788
原创 JVM学习-OOM
问题:宽依赖主要有两个过程: shuffle write 和 shuffle fetch. 类似 Hadoop 的 Map 和 Reduce 阶段.shuffle write 将 ShuffleMapTask 任务产生的中间结果缓存到内存中, shuffle fetch 获得 ShuffleMapTask 缓存的中间结果进行 ShuffleReduceTask 计算,这个过程容易造成OutOfMemory.shuffle 过程内存分配使用 ShuffleMemoryManager 类管理,会针对每个 T
2021-12-29 22:29:09
210
转载 Spark基础之shuffle原理分析
一 概述Shuffle是对数据重新组合和分配Shuffle就是对数据进行重组,由于分布式计算的特性和要求,在实现细节上更加繁琐和复杂在MapReduce框架,Shuffle是连接Map和Reduce之间的桥梁,Map阶段通过shuffle读取数据并输出到对应的Reduce;而Reduce阶段负责从Map端拉取数据并进行计算。在整个shuffle过程中,往往伴随着大量的磁盘和网络I/O。所以shuffle性能的高低也直接决定了整个程序的性能高低,Spark也会有自己的shuffle实现过程。hadoo
2021-12-29 20:55:35
1138
原创 Stage的划分
宽窄依赖RDD之间有一系列的依赖关系,依赖关系又分为窄依赖和宽依赖。Spark中的Stage其实就是一组并行的任务,任务是一个个的task 。宽依赖(Shuffle Dependency)父RDD与子RDD partition之间的关系是一对多。会有shuffle的产生。父RDD的一个分区的数据去到子RDD的不同分区里面。窄依赖 (Narrow Dependency)父RDD和子RDD partition之间的关系是一对一的。或者父RDD一个partition只对应一个子RDD的part
2021-12-29 20:37:09
2039
原创 Spark3.0新特性
概述Spark在SQL查询方面的性能优化主要分为四个方向七个方面开发交互方向新的Explain格式所有join支持hints动态优化自适应查询执行动态分区裁剪Catalyst提升增强嵌套列的裁剪和下推增强聚合的代码生成基础设施更新支持新的Scala和Java版本一、动态优化1.自适应查询执行:通过使用运行时的统计信息1)根据统计信息设置reducer的数量来避免内存和I/O资源的浪费对reducer的个数进行了优化:避免reduder 空转资源浪费情况2)选择更优的jo
2021-12-29 11:48:39
1150
原创 Spark核心编程
Spark 核心编程一、Spark基本工作原理与RDD1.基本工作原理分布式基于内存(少数情况基于磁盘)迭代式计算 与MapReduce的最大不同 MR:分为两个阶段 map和reduce,两个阶段完了,job就结束了。 所以在一个job里能做的处理有限。 Spark计算模型:可以分为n个阶段,是内存迭代式的,处理完一个阶段后,可以继续往下处理很多个阶段。2.RDDRDD是Spark提供的核心抽象,全称Resillient Distributed Dataset,
2020-12-07 17:41:36
197
原创 工作学习总结
工作一段时间了,把工作中用到的和需要学习积累的知识,技术栈总结一下:一、编程语言比较重要的根基javascalapython二、Hadoop数据传输层:sqoop(数据传递)Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。Sqoop利用数据库技术描述数据架构,用于在关系数据库、数据仓库和Hadoop之间转移数据。flume(日志采集工具)Flume是一个可扩展
2020-11-16 17:02:23
233
原创 First one
总结从JavaEE转向大数据 工作有将近一年的时间了,收获还是许多的。 都是很零散的东西,没有一个系统化的分类,这次我想把这些记忆碎片打上标签整理一下,增强体系化,从今天开始,希望自己不断积累。保持一个持续性的学习习惯,不断地总结,反省,这样成效应该会更大一些。工作中遇到的问题:怎么处理解决的,学到了什么,发现自己的不足是什么,通过解决问题收获到了什么,有什么进步。 自己平常地学习积累:学了那些,为什么要学,要做什么。目前在做大数据这一行,工作中负责模块,主要地技术点,需要增强的,可以更好地胜任工作,
2020-11-15 17:09:05
272
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人