![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
文章平均质量分 78
hlp4207
这个作者很懒,什么都没留下…
展开
-
spark源码解析:2.3 start-class.sh脚本分析
上节解析了start-daemon.sh脚本的内容并进行了debug:start-master.sh脚本解析,这节分析spark-class.sh脚本的内容并进行debug1 spark-class内容解析# 判断是否配置了SPARK_HOME,如果没有则手动设置if [ -z "${SPARK_HOME}" ]; then source "$(dirname "$0")"/find...原创 2019-10-30 23:14:31 · 293 阅读 · 0 评论 -
spark源码解析:2.2 start-daemon.sh脚本分析
上节解析了start-master.sh脚本的内容并进行了debug:start-master.sh脚本解析,这节分析spark-daemon.sh脚本的内容并进行debug1. spark-daemon.sh脚本内容usage="Usage: spark-daemon.sh [--config <conf-dir>] (start|stop|submit|status) &l...原创 2019-10-30 18:09:09 · 686 阅读 · 0 评论 -
spark源码解析:2.1 start-master.sh脚本分析
1. start-master.sh脚本内容# 判断是否配置了SPARK_HOME,如果没有设置则先通过$0获取当前脚本的文件名# 再通过dirname获取sbin目录,再cd回上级目录,pwd获取绝对路径,以此设置SPARK_HOMEif [ -z "${SPARK_HOME}" ]; then export SPARK_HOME="$(cd "`dirname "$0"`"/..; ...原创 2019-10-30 18:02:52 · 385 阅读 · 0 评论 -
spark源码解析:1、源码下载与导入
环境搭建spark版本:2.3.3jdk版本:1.8maven版本:3.3.9开发工具:ideascala版本:2.11.8视频地址:https://www.bilibili.com/video/av72037856欢迎点赞1. 下载源码下载与服务器上的spark版本相同的源码,地址:https://github.com/apache/spark2. 解压后使用mav...原创 2019-10-30 12:02:37 · 978 阅读 · 0 评论 -
使用springboot构建rest api远程提交spark任务
github代码链接:github地址1. spark集群及版本信息服务器版本:centos7hadoop版本:2.8.3spark版本:2.3.3使用springboot构建rest api远程提交spark任务,将数据库中的表数据存储到hdfs上,任务单独起一个项目,解除与springboot项目的耦合2. 构建springboot项目1. pom配置 <prop...原创 2019-09-14 18:39:57 · 10237 阅读 · 21 评论 -
Spark2.X-自定义累加器AccumulatorV2
累加器作为spark的一个共享变量的实现,在用于累加计数计算计算指标的时候可以有效的减少网络的消耗 spark中有一个节点的角色是Master,根据配置文件进行分配,Master节点的职责主要是参与worker节点之间的资源调度。 参与spark作业计算的是worker节点上的excutor,在最开始会将原始RDD复制到excutor的各个task进程上以供计算。这时候如果task过...原创 2018-12-27 16:22:03 · 1507 阅读 · 0 评论 -
Spark数据倾斜解决方案
数据倾斜的原因: 在数据中存在一个或少数数量key对应的数据量特别大,导致在spark处理task进行shuffle的时候,大部分task都很快的执行完毕,剩下的少数task执行时间特别长甚至直接fail。 解决方案: 1、直接从源头进行解决: 1.1 在spark的上游--处理源数据的过程中,直接将可能会发生数据倾斜的数据根据key聚合为一条...原创 2018-12-06 17:40:55 · 327 阅读 · 0 评论 -
Spark 累加器注意点
注意点:存在多个action算子的时候,accumulator可能存在重复计算的情况验证:第一步先获取一个accumulator//accumulatorLongAccumulator accum = sc.sc().longAccumulator();此时进行累加求和操作:JavaRDD<Integer> map = sc.parallelize(Array...原创 2018-11-09 17:59:19 · 519 阅读 · 0 评论 -
Spark-RDD转Dataset及简单的SparkSql操作(java和scala版本)
一、编程式方法(一)java版本public class WordPro { private static SparkSession gloableSpark; private static Logger logger = LoggerFactory.getLogger(WordPro.class); public static void main(String[] args) ...原创 2018-09-30 14:39:48 · 2379 阅读 · 0 评论 -
Scala编写Spark分组后排序取TOP n的代码
1、首先来练习最简单的一种情况,数据如下所示,我们要先进行分组然后取每组中的最大值1 892 1002 921 801 90具体代码://两列数据 def top_1(): Unit = { val sc = TransformationOperation.getSc("groupByKey2Top") val lines = sc.textFile(...原创 2018-09-14 07:38:22 · 3282 阅读 · 0 评论