随笔分类 - Spark
摘要:<dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.11</artifactId> <version>2.3.3</version> </dependency> <!-- https://mvnrepos
阅读全文
摘要:一.数据倾斜解决方案之原理以及现象分析 1、数据倾斜的现象 在任何大数据类的项目中,都是最棘手的性能问题,最能体现人的技术能力,最能体现RD(Research Developer,研发工程师)的技术水平。 数据倾斜 = 性能杀手 如果没有丰富的经验,或者没有受过专业的技术培训,是很难解决数据倾斜问题
阅读全文
摘要:一.troubleshooting之控制shuffle reduce端缓冲大小以避免OOM 二.troubleshooting之解决JVM GC导致的shuffle文件拉取失败 三.troubleshooting之解决YARN队列资源不足导致的application直接失败 四.troublesho
阅读全文
摘要:一.算子调优之MapPartitions提升Map类操作性能 1.MapPartitions操作的优点: 如果是普通的map,比如一个partition中有1万条数据;ok,那么你的function要执行和计算1万次。 但是,使用MapPartitions操作之后,一个task仅仅会执行一次func
阅读全文
摘要:一.JVM调优之原理概述以及降低cache操作的内存占比 1、常规性能调优:分配资源、并行度。。。等 2、JVM调优(Java虚拟机):JVM相关的参数,通常情况下,如果你的硬件配置、基础的JVM的配置,都ok的话,JVM通常不会造成太严重的性能问题;反而更多的是,在troubleshooting中
阅读全文
摘要:一.性能调优之在实际项目中分配更多资源 分配更多资源:性能调优的王道,就是增加和分配更多的资源,性能和速度上的提升,是显而易见的;基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,我觉得,就是要来调节最优的资源配置;在这个基
阅读全文
摘要:性能调优 (1)数据接收并行度调优(一) 通过网络接收数据时(比如Kafka、Flume),会将数据反序列化,并存储在Spark的内存中。如果数据接收称为系统的瓶颈,那么可以考虑并行化数据接收。每一个输入DStream都会在某个Worker的Executor上启动一个Receiver,该Receiv
阅读全文
摘要:一.容错机制以及事务语义详解 (1)容错机制的背景 要理解Spark Streaming提供的容错机制,先回忆一下Spark RDD的基础容错语义: 1、RDD,Ressilient Distributed Dataset,是不可变的、确定的、可重新计算的、分布式的数据集。每个RDD都会记住确定好的
阅读全文
摘要:一.缓存与持久化机制 与RDD类似,Spark Streaming也可以让开发人员手动控制,将数据流中的数据持久化到内存中。对DStream调用persist()方法,就可以让Spark Streaming自动将该数据流中的所有产生的RDD,都持久化到内存中。如果要对一个DStream多次执行操作,
阅读全文
摘要:一.DStream的output操作以及foreachRDD详解 1.output操作概览 2.output操作 DStream中的所有计算,都是由output操作触发的,比如print()。如果没有任何output操作,那么,压根儿就不会执行定义的计算逻辑。 此外,即使你使用了foreachRDD
阅读全文
摘要:一.transform以及广告计费日志实时黑名单过滤案例实战 transform操作,应用在DStream上时,可以用于执行任意的RDD到RDD的转换操作。它可以用于实现,DStream API中所没有提供的操作。比如说,DStream API中,并没有提供将一个DStream中的每个batch,与
阅读全文
摘要:一.StreamingContext详解 有两种创建StreamingContext的方式: val conf = new SparkConf().setAppName(appName).setMaster(master);val ssc = new StreamingContext(conf, S
阅读全文
摘要:Spark Streaming简介 Spark Streaming,其实就是一种Spark提供的,对于大数据,进行实时计算的一种框架。它的底层,其实,也是基于我们之前讲解的Spark Core的。基本的计算模型,还是基于内存的大数据实时计算模型。而且,它的底层的组件或者叫做概念,其实还是最核心的RD
阅读全文
摘要:1. 官方文档 http://spark.apache.org/docs/latest/running-on-yarn.html 2. 配置安装 2.1.安装hadoop:需要安装HDFS模块和YARN模块,HDFS必须安装,spark运行时要把jar包存放到HDFS上。 2.2.安装Spark:解
阅读全文
摘要:一、 以编程方式执行Spark SQL查询 1. 编写Spark SQL程序实现RDD转换成DataFrame 前面我们学习了如何在Spark Shell中使用SQL完成查询,现在我们通过IDEA编写Spark SQL查询程序。 Spark官网提供了两种方法来实现从RDD转换得到DataFrame,
阅读全文
摘要:目标1:掌握Spark SQL原理 目标2:掌握DataFrame/DataSet数据结构和使用方式 目标3:熟练使用Spark SQL完成计算任务 1. Spark SQL概述 1.1. Spark SQL的前世今生 Shark是一个为Spark设计的大规模数据仓库系统,它与Hive兼容。Shar
阅读全文
摘要:Executor原理剖析 Task原理剖析 Shuffle原理剖析 1、在Spark中,什么情况下,会发生shuffle?reduceByKey、groupByKey、sortByKey、countByKey、join、cogroup等操作。2、默认的Shuffle操作的原理剖析3、优化后的Shuf
阅读全文
摘要:SparkContext原理 Master主备切换机制 Master注册机制 Worker原理 job触发流程原理 val lines = sc.textFile()val words = lines.flatMap(line => line.split(" "))val pairs = words
阅读全文
摘要:一.Spark内核架构 1、Application2、spark-submit3、Driver4、SparkContext5、Master6、Worker7、Executor8、Job9、DAGScheduler10、TaskScheduler11、ShuffleMapTask and Result
阅读全文
摘要:(1)基于排序机制的wordcount程序 对于以下文件 进行wordcount,并按照出现次数多少排序 代码如下: 结果如下: (2)二次排序 对于以下文件内容 1 52 43 61 32 1 要想得到以下结果 可以通过以下代码 (3)topn 1、对文本文件内的数字,取最大的前3个。 2、对每个
阅读全文

浙公网安备 33010602011771号