随笔分类 -  spark-core

spark-core
摘要:org.apache.spark.examples.SparkPi 27行 def main(args: Array[String]): Unit = { val spark = SparkSession .builder .appName("Spark Pi") .getOrCreate() va 阅读全文
posted @ 2022-09-13 14:12 Kotlin 阅读(87) 评论(0) 推荐(0) 编辑
摘要:一般提交任务都是spark-submit --class org.apache.spark.examples.SparkPi 类似的我们下面就以这个SparkPi 完成源码的跟进 寻找main函数类 我们跟进一个spark命令行的样例详细看看spark的源码 cat /opt/spark/spark 阅读全文
posted @ 2022-09-13 14:10 Kotlin 阅读(117) 评论(0) 推荐(0) 编辑
摘要:onstart revice方法总结 onstart 1.启动定时发送 向自己 ReregisterWithMaster(一直运行) 2.启动多线程 向master RegisterWorker msg: RegisterWorkerResponse 1.更新master 向自己 SendHeart 阅读全文
posted @ 2022-09-12 23:58 Kotlin 阅读(24) 评论(0) 推荐(0) 编辑
摘要:一.case msg: RegisterWorkerResponse 二.case SendHeartbeat 三.case WorkDirCleanup 四.case MasterChanged 五.case ReconnectWorker 六.case LaunchExecutor 七.case 阅读全文
posted @ 2022-09-12 22:59 Kotlin 阅读(23) 评论(0) 推荐(0) 编辑
摘要:一.case msg: RegisterWorkerResponse 二.case SendHeartbeat 三.case WorkDirCleanup 四.case MasterChanged 五.case ReconnectWorker 六.case LaunchExecutor 七.case 阅读全文
posted @ 2022-09-12 22:57 Kotlin 阅读(29) 评论(0) 推荐(0) 编辑
摘要:一.case msg: RegisterWorkerResponse 二.case SendHeartbeat 三.case WorkDirCleanup 四.case MasterChanged 五.case ReconnectWorker 六.case LaunchExecutor 七.case 阅读全文
posted @ 2022-09-12 22:54 Kotlin 阅读(31) 评论(0) 推荐(0) 编辑
摘要:receive 方法其实是大量的case,分别对应处理不同的场景 一.case msg: RegisterWorkerResponse 二.case SendHeartbeat 三.case WorkDirCleanup 四.case MasterChanged 五.case ReconnectWo 阅读全文
posted @ 2022-09-12 22:50 Kotlin 阅读(34) 评论(0) 推荐(0) 编辑
摘要:一.main函数详解 def main(argStrings: Array[String]): Unit = { Thread.setDefaultUncaughtExceptionHandler(new SparkUncaughtExceptionHandler( exitOnUncaughtEx 阅读全文
posted @ 2022-09-12 22:45 Kotlin 阅读(76) 评论(0) 推荐(0) 编辑
摘要:一.Master recive方法总结 1.1 公共方法介绍及发送的消息介绍 schedule():方法很重要,基本上所有的方法都会调用这个 launchDriver() launchExecutor() all: worker.send(LaunchDriver) worker.send(Laun 阅读全文
posted @ 2022-09-12 09:45 Kotlin 阅读(33) 评论(0) 推荐(0) 编辑
摘要:Master recive全部方法 一.case ElectedLeader => ...... 二.case CompleteRecovery => ...... 三.case RevokedLeadership => ...... 四.case WorkerDecommissioning =>  阅读全文
posted @ 2022-09-12 09:39 Kotlin 阅读(22) 评论(0) 推荐(0) 编辑
摘要:Master recive全部方法 一.case ElectedLeader => ...... 二.case CompleteRecovery => ...... 三.case RevokedLeadership => ...... 四.case WorkerDecommissioning =>  阅读全文
posted @ 2022-09-12 09:32 Kotlin 阅读(39) 评论(0) 推荐(0) 编辑
摘要:Master recive全部方法 一.case ElectedLeader => ...... 二.case CompleteRecovery => ...... 三.case RevokedLeadership => ...... 四.case WorkerDecommissioning =>  阅读全文
posted @ 2022-09-12 09:22 Kotlin 阅读(20) 评论(0) 推荐(0) 编辑
摘要:源码地址:"https://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-3.1.3/spark-3.1.3.tgz" 一.spark源码中基础概念的介绍: 1、RpcEnv:RPC包装对象类似于sparkcontext对象2、RpcEndpoint 阅读全文
posted @ 2022-09-12 09:09 Kotlin 阅读(171) 评论(0) 推荐(0) 编辑
摘要:sparkcore 优化 数据倾斜处理 1.etl处理 2.并行度 3.过滤倾斜key(需要null,聚合需求(随机分区预聚合,最终hash散列聚合) 拆分(单独拿出来处理,最终union起来)) 4.reduce join 转mapjoin 5.两阶段聚合 6.无前缀聚合(随机前缀:大表加随机前缀 阅读全文
posted @ 2022-08-26 19:10 Kotlin 阅读(72) 评论(0) 推荐(0) 编辑
摘要:Spark-core概念补充 Spark相对于hadoop的优势 1.减少IO(如非必要不落盘) 2.并行度(多线程) 3.中间结果持久化(多次使用) 4.shuffle方案(不排序) 5.内存管理(静态内存,动态内存,内存可配置) 概念 Master节点,协调资源,连接worker节点运行Exxc 阅读全文
posted @ 2022-08-26 17:33 Kotlin 阅读(72) 评论(0) 推荐(0) 编辑
摘要:有了上面三篇的函数,平时开发应该问题不大了。这篇的主要目的是把所有的函数都过一遍,深入RDD的函数 RDD函数大全 数据准备 val sparkconf = new SparkConf().setAppName("test_Spark_sql").setMaster("local[2]") val  阅读全文
posted @ 2022-08-26 17:14 Kotlin 阅读(63) 评论(0) 推荐(0) 编辑
摘要:一:广播变量 //广播变量其实就是将一个变量传播到每个excetor,实现excetor共享同一个只读变量. //其中有一个难题就是,动态广播变量.我在实验过程中只是实现了不同job的广播变量更改,对于有N分钟修改一次还没有试验出更好的方法 import org.apache.spark.api.j 阅读全文
posted @ 2019-12-16 00:03 Kotlin 阅读(206) 评论(0) 推荐(0) 编辑
摘要:一:rdd聚合操作 1.count val conf = new SparkConf().setAppName("HelloWorld").setMaster("local") val sc = new JavaSparkContext(conf).sc val dataLength = sc.te 阅读全文
posted @ 2019-12-15 23:47 Kotlin 阅读(973) 评论(0) 推荐(0) 编辑
摘要:一:变换操作 rdd中有元组,元组只能是key,value结构,适用于下面很多方法 1.map val conf = new SparkConf().setAppName("HelloWorld").setMaster("local") val sc = new JavaSparkContext(c 阅读全文
posted @ 2019-12-08 21:23 Kotlin 阅读(277) 评论(0) 推荐(0) 编辑

Live2D
点击右上角即可分享
微信分享提示