spark
Luis_yao
这个作者很懒,什么都没留下…
展开
-
使用Spark发送统计数据邮件
问题有些时候希望spark计算完的统计数据直接已邮件的形式发送。在这其中有一些点和技巧记录一下1.拼接邮件HTML调取公司发邮件接口的时候,传入的是html格式的字符传,一开始这个地方最繁琐麻烦的可能就是拼接html,但是scala支持直接写html,这个比较实用,写起来很方便。包括标签,样式都可以直接写。 /** * 拼接HTML Table * @param...原创 2019-11-15 17:08:01 · 872 阅读 · 0 评论 -
爬虫Spark UI(Spark streaming监控)
spark streaming作为实时任务,出了问题并不像离线任务重跑就可以了.对监控要求个方面要求较高.在任务失败 堵塞 卡死等情况下都需要发邮件或者短信报警.比较普遍的方式是利用spark streaming自带的StreamingListener接口来监控.如果前者不满足要求,我们也可以简单写个静态爬虫轮询爬取spark ui上的各种指标来diy监控.方案一 StreamingLi...原创 2019-11-07 14:55:59 · 526 阅读 · 0 评论 -
Spark DAGScheduler 源码解析
Spark DAGScheduler 源码解析问题描述对与Spark执行原理有一定了解的同学对于DAG图(有向无环图,Directed Acyclic Graph的缩写)都会有一定的了解,它描述了RDD之间的依赖关系,和RDD的很多特性都有一定联系。而DAG的形成在Spark中对应的就是DAGScheduler。DAGScheduler的主要工作包括:创建Job,划分Stage,提交Stage...原创 2019-01-21 13:36:51 · 263 阅读 · 0 评论 -
Spark 读取数据 源码解析
问题描述在使用spark读取HDFS上的数据时,经常使用load的方式(没有hive的情况下)spark.read.schema(schema).load(data_path)以前比较常见的是textFile读HDFS的方式,不同于此,load的方式可以直接形成DataFrame,使用上更方便一些。遇到的一个问题是在读取的目录下非常多的碎片文件时,1.load地方为什么单独形成了一个job...原创 2019-01-21 13:36:06 · 1072 阅读 · 0 评论 -
Spark UDF 学习笔记
UDF(User-defined functions, UDFs),即用户自定义函数,在Spark Sql的开发中十分常用,UDF对表中的每一行进行函数处理,返回新的值,有些类似与RDD编程中的Map()算子,实际开发中几乎每个Spark程序都会使用的。今天梳理一下相关的知识点,每个分支下都有测试的示例代码。1.scala第一部分是scala进行Spark程序开发。1.1 udf...原创 2019-01-21 13:37:32 · 701 阅读 · 0 评论 -
spark并行度学习笔记
问题spark是并行处理的大数据框架。所以,很多时候程序的运行速度,失败原因都和并行度有关。那什么是并行度?并行度怎么设置?并行度的概念资源并行度与数据并行度我理解的有两类并行度,一种时资源的并行度,由节点数(executor)和cpu数(core)决定的。另一种并行度就是task的数据,也就是partition大小。task又分为map时的task和reduce(shuffle)时...原创 2019-01-21 13:38:10 · 324 阅读 · 0 评论 -
spark jvm调优学习笔记
问题一个spark streaming程序,在运行一段时间后会突然遇到批次处理暴增,然后大于batch时间,导致程序挂调甚至假死(sc stop但是ssc正常运行)查看日志看到gc OOM的错误,其他没有发现明显问题。(PS:程序数据量不大,资源够用。程序中有用到scala反射函数、调用java实现的文本模型)于是学习了下jvm的调优,希望能解决executor gc的问题。JVM调优不...原创 2019-01-21 13:39:04 · 185 阅读 · 0 评论 -
Spark 程序启动
问题本文主要讲述了Spark启动的几种姿势。对于spark(streaming)程序,我们通常是用shell脚本进行启动,而脚本的调用通常是由crontab或者调度系统例如azkaban定时启动,当然azkaban还有创建依赖等等功能。如果我们的程序触发条件是由某个主动行为,而非固定时间点或者是依赖某个任务呢?比如我想调个接口就可以启动spark程序?姿势一Azkaban API ...原创 2019-01-29 17:07:13 · 740 阅读 · 0 评论