zoukankan      html  css  js  c++  java
  • Spark大数据商业实战三部曲:内核解密|商业案例|性能调优

    Spark大数据商业实战三部曲:内核解密|商业案例|性能调优

    上篇 内核解密

    1 电光石火间体验Spark 2.2开发实战

    1.1 通过RDD实战电影点评系统入门及源码阅读
    1.2 通过DataFrame和DataSet实战电影点评系统
    1.3 Spark 2.2源码阅读环境搭建及源码阅读体验

    2 Spark 2.2技术及原理

    2.1 Spark 2.2综述
    2.2 Spark 2.2 Core
    2.3 Spark 2.2 SQL
    2.4 Spark 2.2 Streaming
    2.5 Spark 2.2 MLlib
    2.6 Spark 2.2 GraphX

    3 Spark的灵魂:RDD和DataSet

    3.1 为什么说RDD和DataSet是Spark的灵魂
    3.2 RDD弹性特性七个方面解析
    3.3 RDD依赖关系
    3.4 解析Spark中的DAG逻辑视图
    3.5 RDD内部的计算机制
    3.6 Spark RDD容错原理及其四大核心要点解析
    3.7 Spark RDD中Runtime流程解析
    3.8 通过WordCount实战解析Spark RDD内部机制
    3.9 基于DataSet的代码到底是如何一步步转化成为RDD的

    4 Spark Driver启动内幕剖析

    4.1 Spark Driver Program剖析
    4.2 DAGScheduler解析
    4.3 TaskScheduler解析
    4.4 SchedulerBackend解析
    4.5 打通Spark系统运行内幕机制循环流程
    4.6 本章总结

    5 Spark集群启动原理和源码详解

    5.1 Master启动原理和源码详解
    5.2 Worker启动原理和源码详解
    5.3 ExecutorBackend启动原理和源码详解
    5.4 Executor中任务的执行
    5.5 Executor执行结果的处理方式
    5.6 本章总结

    6 Spark Application提交给集群的原理和源码详解

    6.1 Spark Application到底是如何提交给集群的
    6.2 Spark Application是如何向集群申请资源的
    6.3 从Application提交的角度重新审视Driver
    6.4 从Application提交的角度重新审视Executor
    6.5 Spark 1.6 RPC内幕解密:运行机制、源码详解、Netty与Akka等
    6.6 本章总结

    7 Shuffle原理和源码详解

    7.1 概述
    7.2 Shuffle的框架
    7.3 Hash Based Shuffle
    7.4 Sorted Based Shuffle
    7.5 Tungsten Sorted Based Shuffle
    7.6 Shuffle与Storage模块间的交互
    7.7 本章总结

    8 Job工作原理和源码详解

    8.1 Job到底在什么时候产生
    8.2 Stage划分内幕
    8.3 Task全生命周期详解
    8.4 ShuffleMapTask和ResultTask处理结果是如何被Driver管理的

    9 Spark中Cache和checkpoint原理和源码详解

    9.1 Spark中Cache原理和源码详解
    9.2 Spark中checkpoint原理和源码详解

    10 Spark中Broadcast和Accumulator原理和源码详解

    10.1 Spark中Broadcast原理和源码详解
    10.2 Spark中Accumulator原理和源码详解

    11 Spark与大数据其他经典组件整合原理与实战

    11.1 Spark组件综合应用
    11.2 Spark与Alluxio整合原理与实战
    11.3 Spark与Job Server整合原理与实战
    11.4 Spark与Redis整合原理与实战

    中篇 商业案例

    12 Spark商业案例之大数据电影点评系统应用案例

    12.1 通过RDD实现分析电影的用户行为信息
    12.2 通过RDD实现电影流行度分析
    12.3 通过RDD分析各种类型的最喜爱电影TopN及性能优化技巧
    12.4 通过RDD分析电影点评系统仿QQ和微信等用户群分析及广播背后机制解密
    12.5 通过RDD分析电影点评系统实现Java和Scala版本的二次排序系统
    12.6 通过Spark SQL中的SQL语句实现电影点评系统用户行为分析
    12.7 通过Spark SQL下的两种不同方式实现口碑最佳电影分析
    12.8 通过Spark SQL下的两种不同方式实现最流行电影分析
    12.9 通过DataFrame分析最受男性和女性喜爱电影TopN
    12.10 纯粹通过DataFrame分析电影点评系统仿QQ和微信、淘宝等用户群
    12.11 纯粹通过DataSet对电影点评系统进行流行度和不同年龄阶段兴趣分析等
    12.12 大数据电影点评系统应用案例涉及的核心知识点原理、源码及案例代码
    12.13 本章总结

    13 Spark 2.2实战之Dataset开发实战企业人员管理系统应用案例

    13.1 企业人员管理系统应用案例业务需求分析
    13.2 企业人员管理系统应用案例数据建模
    13.3 通过SparkSession创建案例开发实战上下文环境
    13.4 通过map、flatMap、mapPartitions等分析企业人员管理系统
    13.5 通过dropDuplicate、coalesce、repartition等分析企业人员管理系统
    13.6 通过sort、join、joinWith等分析企业人员管理系统
    13.7 通过randomSplit、sample、select等分析企业人员管理系统
    13.8 通过groupBy、agg、col等分析企业人员管理系统
    13.9 通过collect_list、collect_set等分析企业人员管理系统
    13.10 通过avg、sum、countDistinct等分析企业人员管理系统
    13.11 Dataset开发实战企业人员管理系统应用案例代码
    13.12 本章总结

    14 Spark商业案例之电商交互式分析系统应用案例

    14.1 纯粹通过DataSet进行电商交互式分析系统中特定时段访问次数TopN
    14.2 纯粹通过DataSet分析特定时段购买金额Top10和访问次数增长Top10
    14.3 纯粹通过DataSet进行电商交互式分析系统中各种类型TopN分析实战详解
    14.4 电商交互式分析系统应用案例涉及的核心知识点原理、源码及案例代码
    14.5 本章总结

    15 Spark商业案例之NBA篮球运动员大数据分析系统应用案例

    15.1 NBA篮球运动员大数据分析系统架构和实现思路
    15.2 NBA篮球运动员大数据分析系统代码实战:数据清洗和初步处理
    15.3 NBA篮球运动员大数据分析代码实战之核心基础数据项编写
    15.4 NBA篮球运动员大数据分析完整代码测试和实战
    15.5 NBA篮球运动员大数据分析系统应用案例涉及的核心知识点、原理、源码
    15.6 本章总结

    16 电商广告点击大数据实时流处理系统案例

    16.1 电商广告点击综合案例需求分析和技术架构
    16.2 电商广告点击综合案例在线点击统计实战
    16.3 电商广告点击综合案例黑名单过滤实现
    16.4 电商广告点击综合案例底层数据层的建模和编码实现(基于MySQL)
    16.5 电商广告点击综合案例动态黑名单过滤真正的实现代码
    16.6 动态黑名单基于数据库MySQL的真正操作代码实战
    16.7 通过updateStateByKey等实现广告点击流量的在线更新统计
    16.8 实现每个省份点击排名Top5广告
    16.9 实现广告点击Trend趋势计算实战
    16.10 实战模拟点击数据的生成和数据表SQL的建立
    16.11 电商广告点击综合案例运行结果
    16.12 电商广告点击综合案例Scala版本关注点
    16.13 电商广告点击综合案例课程的Java源码
    16.14 电商广告点击综合案例课程的Scala源码
    16.15 本章总结

    17 Spark在通信运营商生产环境中的应用案例

    17.1 Spark在通信运营商融合支付系统日志统计分析中的综合应用案例
    17.2 Spark在光宽用户流量热力分布GIS系统中的综合应用案例
    17.3 本章总结

    18 使用Spark GraphX实现婚恋社交网络多维度分析案例

    18.1 Spark GraphX发展演变历史和在业界的使用案例
    18.2 Spark GraphX设计实现的核心原理
    18.3 Table operator和Graph Operator
    18.4 Vertices、edges、triplets
    18.5 以最原始的方式构建Graph
    18.6 第一个Graph代码实例并进行Vertices、edges、triplets操作实战
    18.7 数据加载成为Graph并进行操作实战
    18.8 图操作之Property Operators实战
    18.9 图操作之Structural Operators实战
    18.10 图操作之Computing Degree实战
    18.11 图操作之Collecting Neighbors实战
    18.12 图操作之Join Operators实战
    18.13 图操作之aggregateMessages实战
    18.14 图算法之Pregel API原理解析与实战
    18.15 图算法之ShortestPaths原理解析与实战
    18.16 图算法之PageRank原理解析与实战
    18.17 图算法之TriangleCount原理解析与实战
    18.18 使用Spark GraphX实现婚恋社交网络多维度分析实战
    18.19 婚恋社交网络多维度分析案例代码
    18.20 本章总结

    下篇 性能调优

    19 对运行在YARN上的Spark进行性能调优

    19.1 运行环境Jar包管理及数据本地性原理调优实践
    19.2 Spark on YARN两种不同的调度模型及其调优
    19.3 YARN队列资源不足引起的Spark应用程序失败的原因及调优方案
    19.4 Spark on YARN模式下Executor经常被杀死的原因及调优方案
    19.5 YARN-Client模式下网卡流量激增的原因及调优方案
    19.6 YARN-Cluster模式下JVM栈内存溢出的原因及调优方案

    20 Spark算子调优最佳实践

    20.1 使用mapPartitions或者mapPartitionWithIndex取代map操作
    20.2 使用foreachPartition把Spark数据持久化到外部存储介质
    20.3 使用coalesce取代rePartition操作
    20.4 使用repartitionAndSortWithinPartitions取代repartition和sort的联合操作
    20.5 使用treeReduce取代reduce的原理和源码
    20.6 使用treeAggregate取代Aggregate的原理和源码
    20.7 reduceByKey高效运行的原理和源码解密
    20.8 使用AggregateByKey取代groupByKey的原理和源码
    20.9 Join不产生Shuffle的情况及案例实战
    20.10 RDD复用性能调优最佳实践

    21 Spark频繁遇到的性能问题及调优技巧

    21.1 使用BroadCast广播大变量和业务配置信息原理和案例实战
    21.2 使用Kryo取代Scala默认的序列器原理和案例实战
    21.3 使用FastUtil优化JVM数据格式解析和案例实战
    21.4 Persist及checkpoint使用时的正误方式
    21.5 序列化导致的报错原因解析和调优实战
    21.6 算子返回NULL产生的问题及解决办法

    22 Spark集群资源分配及并行度调优最佳实践

    22.1 实际生产环境下每个Executor内存及CPU的具体配置及原因
    22.2 Spark并行度设置最佳实践

    23 Spark集群中Mapper端、Reducer端内存调优

    23.1 Spark集群中Mapper端内存调优实战
    23.2 Spark集群中Reducer端内存调优实战

    24 使用Broadcast实现Mapper端Shuffle聚合功能的原理和调优实战

    24.1 使用Broadcast实现Mapper端Shuffle聚合功能的原理
    24.2 使用Broadcast实现Mapper端Shuffle聚合功能调优实战

    25 使用Accumulator高效地实现分布式集群全局计数器的原理和调优案例

    25.1 Accumulator内部工作原理
    25.2 Accumulator自定义实现原理和源码解析
    25.3 Accumulator作全局计数器案例实战

    26 Spark下JVM性能调优最佳实践

    26.1 JVM内存架构详解及调优
    26.2 Spark中对JVM使用的内存原理图详解及调优
    26.3 Spark下JVM的On-Heap和Off-Heap解密
    26.4 Spark下的JVM GC导致的Shuffle拉取文件失败及调优方案
    26.5 Spark下的Executor对JVM堆外内存连接等待时长调优
    26.6 Spark下的JVM内存降低Cache内存占比的调优

    27 Spark五大子框架调优最佳实践

    27.1 Spark SQL调优原理及调优最佳实践
    27.2 Spark Streaming调优原理及调优最佳实践
    27.3 Spark GraphX调优原理及调优最佳实践
    27.4 Spark ML调优原理及调优最佳实践
    27.5 SparkR调优原理及调优最佳实践

    28 Spark 2.2.0新一代钨丝计划优化引擎

    28.1 概述
    28.2 内存管理与二进制处理
    28.3 缓存感知计算
    28.4 代码生成
    28.5 本章总结

    29 Spark Shuffle调优原理及实践

    29.1 Shuffle对性能消耗的原理详解
    29.2 Spark.Shuffle.manager参数调优原理及实践
    29.3 Spark.Shuffle.blockTransferService参数调优原理及实践
    29.4 Spark.Shuffle.compress参数调优原理及实践
    29.5 Spark.io.compression.codec参数调优原理及实践
    29.6 Spark.Shuffle.consolidateFiles参数调优原理及实践
    29.7 Spark.Shuffle.file.buffer参数调优原理及实践
    29.8 Spark.Shuffle.io.maxRetries参数调优原理及实践
    29.9 Spark.Shuffle.io.retryWait参数调优原理及实践
    29.10 Spark.Shuffle.io.numConnectionsPerPeer参数调优原理及实践
    29.11 Spark.reducer.maxSizeInFlight参数调优原理及实践
    29.12 Spark.Shuffle.io.preferDirectBufs参数调优原理及实践
    29.13 Spark.Shuffle.memoryFraction参数调优原理及实践
    29.14 Spark.Shuffle.service.enabled参数调优原理及实践
    29.15 Spark.Shuffle.service.port参数调优原理及实践
    29.16 Spark.Shuffle.Sort.bypassMergeThreshold参数调优原理及实践
    29.17 Spark.Shuffle.spill参数调优原理及实践
    29.18 Spark.Shuffle.spill.compress参数调优原理及实践

    30 Spark性能调优之数据倾斜调优一站式解决方案原理与实战

    30.1 为什么数据倾斜是分布式大数据系统的性能噩梦
    30.2 数据倾斜解决方案之一:对源数据进行聚合并过滤掉导致倾斜的Keys
    30.3 数据倾斜解决方案之二:适当提高Reducer端的并行度
    30.4 数据倾斜解决方案之三:使用随机Key实现双重聚合
    30.5 数据倾斜解决方案之四:使用Mapper端进行Join操作
    30.6 数据倾斜解决方案之五:对倾斜的Keys采样后进行单独的Join操作
    30.7 数据倾斜解决方案之六:使用随机数进行Join
    30.8 数据倾斜解决方案之七:通过扩容进行Join
    30.9 结合电影点评系统进行数据倾斜解决方案的小结

    31 Spark大数据性能调优实战专业之路

    31.1 大数据性能调优的本质和Spark性能调优要点分析
    31.2 Spark性能调优之系统资源使用原理和调优最佳实践
    31.3 Spark性能调优之使用更高性能算子及其源码剖析
    31.4 Spark旧版本中性能调优之HashShuffle剖析及调优
    31.5 Shuffle如何成为Spark性能杀手
    31.6 Spark Hash Shuffle源码解读与剖析
    31.7 Sort-Based Shuffle产生的内幕及其tungsten-sort背景解密
    31.8 Spark Shuffle令人费解的6大经典问题
    31.9 Spark Sort-Based Shuffle排序具体实现内幕和源码详解
    31.10 Spark 1.6.X以前Shuffle中JVM内存使用及配置内幕详情
    31.11 Spark 2.2.X中Shuffle中内存管理源码解密:StaticMemory和UnifiedMemory
    31.12 Spark 2.2.X中Shuffle中JVM Unified Memory内幕详情
    31.13 Spark 2.2.X中Shuffle中Task视角内存分配管理
    31.14 Spark 2.2.X中Shuffle中Mapper端的源码实现
    31.15 Spark 2.2.X中Shuffle中SortShuffleWriter排序源码内幕解密
    31.16 Spark 2.2.X中Sort Shuffle中timSort排序源码具体实现
    31.17 Spark 2.2.X中Sort Shuffle中Reducer端的源码内幕

    思维导图

    Spark大数据商业实战三部曲:内核解密|商业案例|性能调优

    防止博客图床图片失效,防止图片源站外链:

    http://www.processon.com/chart_image/5e5b4c3de4b0cc44b5b4c08e.png)

    思维导图在线编辑链接:

    https://www.processon.com/view/5e5b4c3de4b0cc44b5b4c08b

  • 相关阅读:
    SQL Server中生成指定长度的流水号
    属性与字段的区别
    Tomcat启动时的异常~!!!
    全面认识验证身份的数字证书
    MyEclipse 5.5 开发 Spring + Struts + Hibernate 的详解视频(长1.5小时)
    resin是什么?是Application Server吗?是WebLogic,Websphere他们的竞争对手吗?
    发现一个HTML得秘密
    用 MyEclipse 开发的最简单的 Spring 例子
    什么是WebSphere?WebSphere是干什么用的?中间件是什么意思?
    简单jsp+servlet实例
  • 原文地址:https://www.cnblogs.com/jingle1267/p/13468928.html
Copyright © 2011-2022 走看看