Spark
文章平均质量分 93
Spark开发相关内容
蒋含竹
非淡泊无以明志,非宁静无以致远。
展开
-
FusionInsight平台——Spark连接MPPDB(LibrA、GuassDB)
目前国内大数据行业盛行,华为推出了自己的大数据发行版,属于国内领先的发行版。FusionInsight产品其中就包括了Hadoop、Hive、Spark、HBase、MPPDB等组件。对于多数大数据从业人员来说,对大数据主流产品都有一定了解,但这款MPPDB相对来说较为陌生,笔者也在这上面遇到了坑,特此分享。MPPDB:简单来说,它一款分布式的关系型数据库,基于Postgres-XL框架,支持JDBC、ODBCMPPDB已更名为LibrA(GuassDB)原创 2018-01-07 19:06:21 · 14977 阅读 · 2 评论 -
Spark源码剖析——Action操作、runJob流程
文章目录Spark源码剖析——Action操作、runJob流程当前环境与版本前言供分析的代码collect 源码分析DAGScheduler中的处理TaskScheduler中的处理CoarseGrainedSchedulerBackend、DriverEndpoint中的处理Executor中的处理Spark源码剖析——Action操作、runJob流程当前环境与版本环境版本JDKjava version “1.8.0_231” (HotSpot)ScalaScala原创 2020-07-09 13:52:50 · 645 阅读 · 0 评论 -
Spark代码可读性与性能优化——示例十一(SQL与代码-蚂蚁森林示例)
文章目录Spark代码可读性与性能优化——示例十一(SQL与代码-蚂蚁森林示例)前言业务描述使用SQL解决业务问题 - 方案1使用SQL解决业务问题 - 方案2使用代码带来更高的性能Spark代码可读性与性能优化——示例十一(SQL与代码-蚂蚁森林示例)前言编写SQL处理业务问题,通常有简单易用、便捷、适用人群广泛等优点,是数据分析师的不二之选。但是,SQL易用的同时也带来了性能的问题,当为了解决某些复杂的业务时,你不得不编写几十至几百行很复杂的SQL来处理。由于为了实现复杂的业务,SQL中会存在原创 2020-05-31 00:08:36 · 739 阅读 · 2 评论 -
Spark源码剖析——SparkContext实例化
文章目录Spark源码剖析——SparkContext实例化当前环境与版本前言SparkContext实例化的主要逻辑LiveListenerBus的作用createSparkEnv的过程创建不同的SchedulerBackend、TaskSchedulerDAGSchedulerSpark源码剖析——SparkContext实例化当前环境与版本环境版本JDKjava ...原创 2020-03-21 22:52:03 · 1590 阅读 · 0 评论 -
Spark源码剖析——SparkSubmit提交流程
文章目录Spark源码剖析——SparkSubmit提交流程当前环境与版本前言Shell命令部分参数解析 MainSparkSubmitSpark源码剖析——SparkSubmit提交流程当前环境与版本环境版本JDKjava version “1.8.0_231” (HotSpot)SaclaScala-2.11.12Sparkspark-2.4.4...原创 2020-03-11 21:30:33 · 2242 阅读 · 0 评论 -
Spark源码剖析——Master、Worker启动流程
文章目录Spark源码剖析——Master、Worker启动流程当前环境与版本1. 前言2. Master启动流程2.1 Master的伴生对象2.2 Master3. Worker启动流程3.1 Worker的伴生对象3.2 Worker4. Master与Worker的初步交互(注册)Spark源码剖析——Master、Worker启动流程当前环境与版本环境版本JDK...原创 2020-02-29 18:05:04 · 1339 阅读 · 0 评论 -
Spark源码剖析——RpcEndpoint、RpcEnv
文章目录Spark源码剖析——RpcEndpoint、RpcEnv当前环境与版本1. 前言2. RpcEndpoint2.1 核心UML图2.2 RpcEndpoint源码分析3. RpcEndpointRef3.1 RpcEndpointRef3.2 NettyRpcEndpointRef4. RpcEnvSpark源码剖析——RpcEndpoint、RpcEnv当前环境与版本环境...原创 2020-02-26 00:39:37 · 1482 阅读 · 0 评论 -
Akka事件驱动——模拟Spark注册、心跳
文章目录Akka事件驱动——模拟Spark心跳Akka简介事件驱动示意图Akka事件驱动——模拟Spark心跳Akka简介对于Netty封装的网络通信框架基于事件驱动模型:异步、非阻塞、高性能Actor的并发模型,单个线程内可以共存多个Actor,不需要为每个连接维护一个线程由Scala编写事件驱动示意图...原创 2020-01-31 15:53:28 · 1068 阅读 · 0 评论 -
Spark源码编译
Spark源码编译当前环境System: CentOS Linux release 7.6.1810 (Core)JDK: java version “1.8.0_231” (HotSpot)Sacla: Scala-2.11.12Maven: Apache Maven 3.6.3Spark: spark-2.4.4官方源码编译文档: http://spark.apache.org...原创 2020-01-14 07:17:46 · 1267 阅读 · 0 评论 -
Spark优化总结(四)——业务与架构设计
文章目录Spark优化总结(四)——业务与架构设计1. 前言2. 需求:实时订阅监控系统3. 数据采集、缓冲层、实时计算层的选择3.1 数据采集3.2 缓冲层3.3 实时计算层3.4 目前的架构图4. 怎样将订阅消息推送到实时计算集群?4.1 分析4.2 为所有的用户名设计一个Topic?4.3 将订阅消息存到数据库?4.4 在计算节点开启Socket连接,Web服务发送订阅消息过来?4.5 使用.........原创 2020-01-07 23:13:15 · 1671 阅读 · 0 评论 -
Spark优化总结(三)——调参
文章目录Spark优化总结(三)——调参前言简单示例常用参数JVM调参Spark优化总结(三)——调参前言不要期待修改一个参数能够像魔法一样立马得到神奇的好效果!(某些时候效果确实很棒^_^)你应当把参数看作一道菜中的调味品,能够丰富味道,但主要还是得靠原材料的质量与炒菜的技艺。开发Spark应用时,应当先优化好你的应用代码,再来思考调参优化(必要的参数的除外)。调参是一个比较复杂的主.........原创 2020-01-04 21:50:40 · 3286 阅读 · 1 评论 -
Spark优化总结(二)——代码编写
文章目录Spark优化总结(二)——代码编写1. 前言2. 选择合理的数据结构3. Java容器与Scala容器互转4. 关注经常执行的代码块5. Spark API6. 广播的问题7. 数据传输与解析8. 设计一个合宜的项目结构Spark优化总结(二)——代码编写1. 前言编写一个性能较高的Spark应,需要有良好的代码编写功底。一块不好的代码,通常会导致BUG、效率缓慢等问题,而经常需...原创 2020-01-03 16:00:37 · 2381 阅读 · 2 评论 -
Spark代码可读性与性能优化——示例十(项目结构)
文章目录Spark代码可读性与性能优化——示例十(项目结构)前言安排好每个包下的类为Spark应用设计一个模板基类Spark代码可读性与性能优化——示例十(项目结构)前言安排好每个包下的类安排好各个包的功能,可以方便查看项目代码结构,明确功能,有利降低开发的混乱度在这里,举一个可供参考的示例,如下解释app 用于存放开发的Spark应用common 用于存放通用的配置,或者某......原创 2020-01-02 19:34:36 · 2056 阅读 · 0 评论 -
Spark代码可读性与性能优化——示例九(数据传输与解析)
文章目录Spark代码可读性与性能优化——示例九(数据传输与解析)1. 前言2. Kyro序列化3. csv解析4. json解析5. 其他Spark代码可读性与性能优化——示例九(数据传输与解析)1. 前言通常数据传输与解析是开发人员不常关心的一个方面,会直接使用最便利的方式处理。但是,无论是数据在网络中的传输还是数据的解析方式都会对性能产生影响。下面就举几个例子来说明该如何处理数据。...原创 2020-01-02 16:32:57 · 1757 阅读 · 0 评论 -
Spark优化总结(一)——数据倾斜
文章目录Spark优化总结(一)——数据倾斜1. 前言2. 数据源倾斜3. 存储结果倾斜4. 运行时数据倾斜4.1 过滤导致的数据不均4.2 join导致的数据不均4.3 groupBy导致的数据不均Spark优化总结(一)——数据倾斜1. 前言在Spark应用开发过程中,通常大多数性能问题是在数据倾斜点上。针对数据倾斜问题,我们可以运行状态分出以下几点:数据源倾斜存储结果倾斜运行...原创 2020-01-02 12:24:12 · 2123 阅读 · 4 评论 -
Spark代码可读性与性能优化——示例八(一个业务逻辑,多种解决方式)
文章目录Spark代码可读性与性能优化——示例八(一个业务逻辑,多种解决方式)1. 前情提要2. 需求展示3. 问题分析4. 多种解决方式的示例Spark代码可读性与性能优化——示例八(一个业务逻辑,多种解决方式)1. 前情提要在示例七的末尾种提出了一个需求“同时统计某个表所有字段对应的值的总数、去重后的总数,并要求对应字段值非空”。如果你看过示例七,显然应该知道怎么解决。写这篇文章的目...原创 2019-12-02 18:36:42 · 3428 阅读 · 0 评论 -
Spark代码可读性与性能优化——示例七(构建聚合器,以用于复杂聚合)
文章目录Spark代码可读性与性能优化——示例七(GroupBy、ReduceByKey)1. 多列聚合1.1 前情提要1.2 尝试进行本地多列聚合1.3 多列聚合最终代码2. 单列多重聚合2.1 前情提要2.2 尝试进行本地单列多重聚合2.3 单列多重聚合最终代码3. 多列多重聚合4. 总结与整理Spark代码可读性与性能优化——示例七(GroupBy、ReduceByKey)接第六篇,如......原创 2019-11-27 04:33:41 · 5084 阅读 · 1 评论 -
《Spark高级数据分析》——预测森林植被(决策树、随机森林)
文章目录《Spark高级数据分析》——预测森林植被(决策树、随机森林)0. 简介1. 数据准备2. 训练决策树模型3. 预测森林植被4. 利用网格搜索与交叉验证API5. 完整代码《Spark高级数据分析》——预测森林植被(决策树、随机森林)0. 简介来源: 《Spark高级数据分析》原书GitHub地址: https://github.com/sryza/aas内容简述:利用Spar...原创 2019-06-07 21:37:09 · 4543 阅读 · 1 评论 -
《Spark高级数据分析》——音乐推荐(ALS算法)
文章目录《Spark高级数据分析》——基于ALS算法的音乐推荐0. 简介1. 数据准备2. 训练ALS模型3. 为用户推荐音乐家4. 利用网格搜索与AUC评分5. 完整代码《Spark高级数据分析》——基于ALS算法的音乐推荐0. 简介来源: 《Spark高级数据分析》原书GitHub地址: https://github.com/sryza/aas内容简述:利用Spark中ALS算法,...原创 2019-05-26 00:47:04 · 5076 阅读 · 2 评论 -
Spark代码可读性与性能优化——示例六(groupBy、reduceByKey、aggregateByKey)
文章目录Spark代码可读性与性能优化——示例六(GroupBy、ReduceByKey)0. 需求:统计历年全国高考生中数学成绩前100名1. 数据示例2. 存在问题的代码示例3. 如何解决代码中的问题?4. 最终代码,以及附其他代码Spark代码可读性与性能优化——示例六(GroupBy、ReduceByKey)0. 需求:统计历年全国高考生中数学成绩前100名1. 数据示例i...原创 2019-05-16 02:03:10 · 5587 阅读 · 1 评论 -
Spark代码可读性与性能优化——示例五(MapJoin)
文章目录Spark代码可读性与性能优化——示例五(HashJoin)1. 内容点大纲2. 原代码3. 优化后的代码+注释Spark代码可读性与性能优化——示例五(HashJoin)1. 内容点大纲数据集之间的Join大数据集、小数据集数据倾斜减少Shuffle更好的写法 flatMap + Some + None广播常见的陷阱*注意:和前面文章内容重复的不再做提示,已直接修改...原创 2019-04-26 00:10:26 · 4038 阅读 · 1 评论 -
Spark代码可读性与性能优化——示例四
文章目录Spark代码可读性与性能优化——示例四1. 内容点大纲2. 原代码(来自GitHub)3. 优化后的代码+注释Spark代码可读性与性能优化——示例四1. 内容点大纲更简洁的写法易懂的写法返回类型提示本地打印提示代码换行提示占位符提示*注意:和前面文章内容重复的不再做提示,已直接修改2. 原代码(来自GitHub)import org.apache.spark....原创 2019-04-15 00:35:06 · 803 阅读 · 1 评论 -
Spark代码可读性与性能优化——示例三
文章目录Spark代码可读性与性能优化——示例二1. 内容点大纲2. 原代码(来自GitHub)3. 优化后的代码+注释Spark代码可读性与性能优化——示例二1. 内容点大纲无意义代码清除提示数据本地获取提示unpersist解除缓存优化提示使用匹配模式的提示代码简写提示*注意:和前面文章内容重复的不再做提示,已直接修改2. 原代码(来自GitHub)import sca...原创 2019-04-10 01:16:20 · 892 阅读 · 1 评论 -
Spark代码可读性与性能优化——示例二
文章目录Spark代码可读性与性能优化——示例二1. 内容点大纲2. 原代码(来自GitHub)3. 优化后的代码+注释Spark代码可读性与性能优化——示例二1. 内容点大纲SparkConf可读性提示Scala语法可读性提示方法默认值提示代码冗余写法提示函数式写法提示persist缓存性能优化提示sc.stop()性能优化提示注意:不同示例之间的内容点经常会有重复,意在强...原创 2019-04-06 13:51:48 · 804 阅读 · 1 评论 -
Spark代码可读性与性能优化——示例一
文章目录Spark代码可读性与性能优化——示例一1. 内容大纲2. 原代码(来自GitHub)3. 优化后的代码+注释Spark代码可读性与性能优化——示例一1. 内容大纲SparkConf可读性提示Scala语法可读性提示mkString可读性提示persist缓存性能优化提示sc.stop()性能优化提示2. 原代码(来自GitHub)import org.apache....原创 2019-04-06 13:19:04 · 883 阅读 · 1 评论 -
Spark示例——可恢复的SparkStreaming应用
关键点SparkStreaming 流式处理Kafka消费应用从上一次停止处恢复checkpoint代码 + 说明import kafka.serializer.StringDecoderimport org.apache.spark.SparkConfimport org.apache.spark.streaming.kafka.KafkaUtilsimport org.a...原创 2018-12-30 01:30:12 · 271 阅读 · 0 评论 -
Spark示例——实现K-Means
Spark实现K-Means的简单示例注: 不是调用ML包,而是直接实现一个简易版的K-Means不难,直接看代码吧(●’◡’●) //所有代码直接在main中执行即可import scala.math.pow// 计算两个的点距离的平方def distanceSquared(p1: (Double,Double), p2: (Double,Double)) = { ...原创 2018-08-09 02:32:00 · 3835 阅读 · 6 评论