从jdbc的角度解读外部数据源|Spark|Spark接口首先了解三个trait,分别是BaseRelation、TableScan/PrunedScan/PrunedFilteredScan、InsertableRelation、RelationProvider,他们的功能在源码中解读。
//代表了一个抽象的数据源。该数据源由一行行有着已知schem ...
Read more
RDD转换DadaFrame&使用SQL操作数据源&跨数据源join&SQL与DF与DS的比较&Spark元数据管理: catalog|Spark|Spark目录
RDD转换DadaFrame
使用SQL操作数据源
跨数据源join
SQL与DF与DS的比较
Spark元数据管理: catalog
RDD转换DadaFrame
第一种方式是使用反射来推断包含特定对象类型的RDD的模式
object reflect { def main( ...
Read more
Spark源码之解读spark-shell脚本|Spark|Spark该篇文章主要分析一下Spark源码中启动spark-shell脚本的处理逻辑,从spark-shell一步步深入进去看看任务提交的整体流程
spark-shell脚本解读
# 初始化cygwin=falsecygwin=false# 检查你的系统是否属于cygwincase "$(uname)" ...
Read more
Spark中的序列化|Spark|Spark在写Spark应用时,常常会碰到序列化的问题。例如,在Driver端的程序中创建了一个对象,而在各个Executor端会用到这个对象——由于Driver端的代码和Executor端的代码在不同的JVM中,甚至在不同的节点上,因此必然要有相应
Java框架进行序列化在默认情况下,Spark会使用Jav ...
Read more
SparkSQL&DataFrame的read和write&SparkSQL做统计分析&UDF函数&存储格式的转换|Spark|Spark目录
SparkSQL
DataFrame的read和write
SparkSQL做统计分析
UDF函数
存储格式的转换
SparkSQL认识SparkSQL
SparkSQL的进化之路
1.0以前: Shark1.1.x开始: SparkSQL(只是测试性的) SQL1.3.x: S ...
Read more
Spark之分组TopN模块|Spark|Spark在Spark中,分组TopN好写,但是如果想写出性能好的代码却也很难。下面我们将通过写TopN的方式,找出问题,解决问题。
直接reduceByKey完成分组求和排序
def main(args: Array[String]): Unit = { val in = "file:// ...
Read more
经典案例&多目录输出&计数器&持久化&广播变量|Spark|Spark目录
经典案例
多目录输出
计数器
持久化
广播变量
经典案例/** * 用户 节目 展示 点击 * 001,一起看|电视剧|军旅|亮剑,1,1 * 001,一起看|电视剧|军旅|亮剑,1,0 * 002,一起看|电视剧|军旅|士兵突击,1,1 * ==> * ...
Read more
Spark之短信告警|Spark|Spark下面的案例继续延续Spark监控中的邮件监控,在监控中检测到数据异常,需要发送邮件告警
发送邮件工具类
public class MsgUtils { public static void send(String recivers, String title, String cont ...
Read more
Spark之监控模块|Spark|Spark目录
Spark自带监控
Spark接口监控
Spark自定义监控
Spark自带监控第一种监控方式是Spark自带的,由于Spark Web UI界面只在sc的生命周期内有效,所以我们需要存储日志,在Spark sc 生命周期结束后重构UI界面。
首先看官方文档配置,这里只是简单配置
修改sp ...
Read more
Spark术语&Spark提交&YARN上的提交模式&窄依赖&宽依赖|Spark|Spark目录
Spark术语
Spark提交
YARN上提交模式
宽依赖
窄依赖
术语下表总结了关于集群概念的术语:
Term
Meaning
Application
Spark上的应用程序。由一个driver program和集群上的executors组成。
Application ja ...
Read more