先看值不值得学:这门课解决什么问题

很多做后端或数据相关工作的朋友,常会遇到这类场景:公司业务量上来后,原来用定时任务跑的离线数据同步开始拖后腿,几千万行数据的清洗跑一整晚还跑不完;又或者想从日志里做用户行为归因,写了一堆嵌套 SQL,最后跑成了数据库性能灾难。Spark 这类分布式计算框架,就是用来对付单机搞不定的批量数据处理。这门课不是讲一堆概念名词,而是从本地装好、跑通第一个 WordCount 开始,一直带到集群部署、高可用配置和用 Scala 在 IDEA 里写真实的算子逻辑。如果你现在的工作已经涉及数据处理、ETL 脚本维护,或者准备往数据开发方向转,这门课能帮你把分布式计算这块拼图补上。但如果你连 Linux 基本命令和一门后端语言都不熟,建议先补这俩再来看,否则到集群部署那几节会卡得很难受。

资料怎么用:建议先看哪几块、怎么配合练习

资料整体是按从单机到集群、从原理到实操的顺序排的,但不用顺着死磕。建议先把本地模式启动和 WordCount 那几节过一遍,确认环境能跑通,这是后面所有练习的基础。接着直接跳到 RDD 介绍和算子那部分,因为 Spark 的核心编程模型就是围绕 RDD 和它的转换、行动算子转的,map、flatMap、reduceByKey 这几个搞明白,你就能写出能跑的批处理逻辑,而不是停留在看懂概念。集群模式部署、历史服务配置、高可用这几块,可以等你自己写完几个小任务再回头看,那时候你对为什么要配这些会有体感,不然光跟着敲命令容易忘。练习时别只看视频,一定自己搭一套环境,把提交样例程序那节的手动提交流程走一遍,再用 IDEA 写一次同样的逻辑打包提交,对比两种方式的差异,这样学完才不会一关视频就忘光。

学完能独立做什么

把核心算子和集群部署这部分吃透后,你能独立完成的活儿挺具体:给一份几十 G 的日志文件,你能用 Spark 写出按用户聚合、按时间窗口统计的处理逻辑,打成包提交到集群跑,而不是靠写 Python 脚本一行行读。日常运维上,集群装好、配好历史服务器和高可用,你能自己盯着任务执行情况、排查卡住的任务卡在哪。再往实际点说,公司里要搭一套离线数据处理流程时,你能参与选型和搭骨架,而不是只能问别人要现成脚本改参数。当然,这门课讲的是基础框架和核心算子,像 Spark SQL 的复杂优化、Streaming 的实时处理这些深水区,学完这门还不够,得再找专项资料补,但有了这个底子,后面看那些东西会顺很多。


GraphX

课程目录

*   01 Spark介绍 特点 核心组件.mp4 26:22

*   02 Spark安装启动 本地模式 读取文件测试.mp4 40:54

*   03 Spark-shell中执行WordCount操作.mp4 32:51

*   04 spark提交样例程序.mp4 32:50

*   05 spark集群模式部署启动.mp4 12:55

*   06 6.spark集群中执行任务 配置启动查看历史服务.mp4 24:05

*   07 7.spark集群高可用配置.mp4 15:01

*   08 8.在IDEA中使用scala开发WordCount.mp4 30:30

*   09 9.上节内容回顾.mp4 11:08

*   10 10.RDD的介绍及特点.mp4 28:24

*   11 11.RDD的创建方式.mp4 26:54

*   12 12.RDD中的算子map、flatMap、reduceByKey.mp4 28:10

*   13 13.上午知识回顾.mp4 07:52

*   14 14.统计独立ip访问次数案例.mp4 29:33

*   15 15.由案例引出的问题及解决方案.mp4 10:57

*   16 16.RDD的特点.mp4 12:17

*   17 17.Transformation类型的算子1.mp4 31:41

*   18 18.Transformation类型的算子2.mp4 44:35

*   19 19.上节内容回顾.mp4 12:41

*   20 20.Transformation类型的算子3.mp4 30:51

*   21 21.Transformation类型的算子4.mp4 39:33

*   22 22.Action类型的算子.mp4 36:41

*   23 23.Spark RDD练习:PM值统计案例.mp4 35:57

*   24 24.RDD查看分区 指定分区.mp4 38:12

*   25 25.缓存的意义.mp4 43:03

*   26 26.缓存API使用 缓存级别.mp4 25:08

*   27 27.checkpoint的作用及使用.mp4 20:19

*   28 28.上节内容回顾.mp4 09:24

*   29 29.搜狗搜索日志案例:读取数据.mp4 35:36

*   30 30.搜狗搜索日志案例:搜索关键词统计.mp4 38:40

*   31 31.搜狗搜索日志案例:用户搜索词点击统计.mp4 17:40

*   32 32.向Hbase中写数据:处理数据 创建表.mp4 46:15

*   33 33.向HBase中写数据:组装数据 写入表.mp4 31:36

*   34 34.从HBase中读取数据.mp4 34:01

*   35 35.向Mysql中插入词频统计结果.mp4 36:13

*   36 36.共享变量:广播变量 累加器.mp4 46:24

*   37 37.Spark宽依赖 窄依赖 内核调度.mp4 45:26

*   38 38.SparkSQL是什么 适用场景.mp4 27:33

*   39 39.SparkSQL命令式API SparkSession.mp4 44:32

*   40 40.SparkSQL声明式API.mp4 20:04

*   41 41.Catalyst优化器.mp4 28:11

*   42 42.Dataset的特点.mp4 50:50

*   43 43.DataFrame是什么 如何创建.mp4 25:24

*   44 44.DataFrame支持什么操作.mp4 35:07

*   45 45.Dataset和DataFrame的区别 Row对象.mp4 42:10

*   46 46.初识 DataFrameReader.mp4 23:00

*   47 47.初识 DataFrameWriter.mp4 12:47

*   48 48.读写Parquet格式数据.mp4 16:19

*   49 49.分区读写 Parquet 格式文件.mp4 23:39

*   50 50.读写JSON格式数据.mp4 20:55

*   51 51.SparkSQL访问Hive数据.mp4 59:08

*   52 52.SparkSQL向Hive中保存数据.mp4 39:46

*   53 53.上节内容回顾.mp4 08:56

*   54 54.SparkSQL向MySQL中写入数据.mp4 25:35

*   55 55.有类型的转换操作1.mp4 50:09

*   56 56.有类型的转换操作2.mp4 31:44

*   57 57.无类型的转换操作.mp4 34:30

*   58 58.Column对象的创建.mp4 24:15

*   59 59.Column对象的相关操作.mp4 17:15

*   60 60.缺失值处理 特殊类型NaN null.mp4 34:44

*   61 61.字符串缺失值处理.mp4 29:33

*   62 62.聚合操作 groupBy.mp4 27:22

*   63 63.groupBy多维聚合.mp4 28:04

*   64 64.多维聚合 rollup cube.mp4 44:13

*   65 65.连接操作 交叉连接 内连接.mp4 38:24

*   66 66.其他连接方式.mp4 20:00

*   67 67.functions.UDF.mp4 22:24

*   68 68.上节知识回顾.mp4 09:07

*   69 69.窗口函数 案例1.mp4 38:46

*   70 70.窗口函数 案例2.mp4 11:52

*   71 71.出租车项目 业务分析 数据读取.mp4 30:11

*   72 72.出租车项目 数据清洗、转换.mp4 01:10:10

*   73 73.出租车项目 EitherTest.mp4 38:14

*   74 74.出租车项目 使用Either处理异常.mp4 32:05

*   75 75.出租车项目 查看数据分布,剪除反常数据.mp4 26:46

*   76 76.Json4s转换测试.mp4 53:43

*   77 77.GeoJSON文件转为对象 类型分装 转换.mp4 40:27

*   78 78.针对行政区排序 根据经纬度查找行政区信息.mp4 48:52

*   79 79.统计行政区信息.mp4 13:45

*   80 80.统计行政区平均待客时长.mp4 50:52

*   81 81.SparkStreaming介绍.mp4 23:14

*   82 82.Socket netcat工具.mp4 12:55

*   83 83.SparkStreaming入门案例.mp4 43:31

*   84 84.上午知识回顾.mp4 08:04

*   85 85.SparkStreaming原理.mp4 33:55

*   86 86.SparkStreaming容错方案.mp4 06:22

*   87 87.SparkStreaming全局词频统计.mp4 34:20

*   88 88.SparkStreaming中的窗口操作.mp4 19:17

*   89 89.编程模型进化 SparkStreaming 和 StructuredStreaming.mp4 37:19

*   90 90.StructuredStreaming入门案例.mp4 29:49

*   91 91.StructuredStreaming体系结构.mp4 38:45

*   92 92.StructuredStreaming读取HDFS数据.mp4 38:55

*   93 93.StructuredStreaming读取Kafka数据.mp4 01:46:32

*   94 94.写数据到HDFS.mp4 43:07

*   95 95.写入数据到Kafka.mp4 34:15

*   96 96.Foreach Sink写入数据到MySQL.mp4 27:40

*   97 97.错误恢复和容错语义.mp4 43:47