这门课解决什么工作场景
物业管理行业正经历从「人工记录」到「数据驱动」的转型期。传统的物业运营依赖Excel和孤立系统,存在数据滞后、人工统计误差大、决策凭经验等问题。本课程聚焦于构建「智能物业运营系统」,解决的是如何让海量多源数据(如门禁通行、水电消耗、报修记录、人员考勤)在大数据平台上高效流转、清洗和计算。
核心场景包括:通过离线数据湖构建统一数据底座,实现历史数据的长期存储与快速查询;利用Spark进行复杂的关联分析和趋势预测(如设备故障预警、能耗异常检测);最终将处理结果封装为API服务,供前端大屏或移动端实时调用。如果你身处物业公司IT部门、数字化转型服务商,或希望进入智慧城市/物联网领域的大数据岗位,这套离线计算链路是你必须掌握的基础设施技能。
适合什么基础,建议先看哪几块
课程定位是「进阶」,并非零基础入门。它假设你已具备Linux操作、SQL基础以及Java/Scala编程语言能力。若你尚未掌握Hadoop生态基础(HDFS、Hive),建议先补足这些背景知识,否则在学习Iceberg数据湖和Spark优化时会感到吃力。
建议学习路径如下:
- 第一阶段:数据接入与治理。重点学习DataX如何进行异构数据源同步,以及Apache Iceberg如何管理数据湖表结构。这是保证数据一致性和可回溯性的基石,切忌跳过直接上手计算。
- 第二阶段:Spark核心计算。深入理解Spark SQL和DataFrame API,掌握在本地模式、YARN模式下的资源调优参数。结合物业场景案例,练习如何处理千万级行数的报表生成任务。
- 第三阶段:服务化与可视化。学习使用DBApi将计算结果暴露为RESTful接口,并利用Davinci等可视化工具制作运营驾驶舱。这一环节打通了从「数据」到「决策」的最后一步。
学完能独立做什么
完成课程后,你将具备独立搭建中小型物业大数据平台的能力。具体表现为:能够设计并实现一套完整的ETL流程,将物业各子系统数据接入统一数据湖;能够编写Spark作业处理日均GB级的流水数据,输出月度经营分析报告;能够配置智能调度任务,确保每天凌晨自动完成前一日数据更新;还能通过API网关将数据服务集成到物业APP或管理中台。
这种「数据工程+业务场景」的双重能力,比单纯只会写SQL的分析师或只会部署集群的运维更具竞争力。建议你配合课程中的实战项目,在本地或云服务器上复现整个链路,特别是尝试修改数据源和指标逻辑,观察Spark执行计划的变化,从而真正内化这些硬核技能。
课程目录
├── 1-大厂技术首选高薪必备:揭开Spark神秘面纱/ │ ├── [ 21M] 1-1 每位大数据开发者都需要了解的硬核技能 │ ├── [2.1M] 1-2 本章概览 │ ├── [ 22M] 1-3 Spark产生背景 │ ├── [ 30M] 1-4 Spark是什么 │ ├── [ 21M] 1-5 【重要】Spark能为我们带来什么 │ ├── [ 11M] 1-6 自己语言总结Spark │ ├── [ 44M] 1-7 【重要】Spark版本选择依据 │ └── [ 28M] 1-8 Spark与Hadoop多角度对比 ├── 2-工欲善其事必先利其器:大数据框架环境部署/ │ ├── [2.3M] 2-1 本章概览 │ ├── [3.6M] 2-2 【重要】服务器选择注意事项 │ ├── [ 20M] 2-3 客户端操作注意事项 │ ├── [5.9M] 2-4 服务器目录规划 │ ├── [ 21M] 2-5 JDK部署 │ ├── [ 10M] 2-6 Scala部署 │ ├── [5.8M] 2-7 【作业】MySQL部署 │ ├── [ 71M] 2-8 HDFS部署及测试 │ ├── [ 37M] 2-9 YARN部署及测试 │ ├── [ 63M] 2- 10 Hive部署及测试 │ ├── [ 49M] 2- 11 Spark部署及测试 │ └── [ 60M] 2-12 【重要】基于IDEA&Maven构建本地开发环境 ├── 3-手把手撸个RDD实战:加强基础为Spark预热/ │ ├── [4.0M] 3-1 本章概览 │ ├── [ 17M] 3-2 快速认识Java中的Iterator │ ├── [ 63M] 3-3 自定义Java Iterator │ ├── [ 30M] 3-4 自定义Java Iterable │ ├── [ 22M] 3-5 【重要】Scala中迭代器的使用 │ ├── [ 37M] 3-6 【重要】自定义迭代器读取MySQL中的数据 │ ├── [ 25M] 3-7 统一上下文类封装 │ ├── [ 23M] 3-8 Scala中迭代器的lazy特性 │ ├── [ 52M] 3-9 【重要】自定义RDD代码封装及实现 │ └── [ 37M] 3- 10 自定义RDD代码测试 ├── 4-轻松理解RDD核心本质:结合源码多维度解析/ │ ├── [2.0M] 4-1 本章概览 │ ├── [ 10M] 4-2 学习之前注意事项说明 │ ├── [ 37M] 4-3 【重要】从源码角度理解RDD是什么 │ ├── [ 20M] 4-4 【重要】从源码角度理解RDD的定义 │ ├── [ 50M] 4-5 【重要】从源码角度理解RDD的五大特性 │ ├── [ 38M] 4-6 RDD五大特性在源码中的体现 │ ├── [ 11M] 4-7 RDD五大特性图解总结 │ ├── [ 58M] 4-8 HadoopRDD源码解读 │ └── [ 15M] 4-9 【作业】JdbcRDD源码分析 ├── 5-快速步入核心编程基础:RDD转换与动作编程/ │ ├── [3.7M] 5-1 本章概览 │ ├── [ 53M] 5-2 Spark编程核心入口类SparkContext使用注意事项 │ ├── [ 45M] 5-3 基于spark-shell脚本再谈SparkContext │ ├── [ 37M] 5-4 RDD创建方式之集合 │ ├── [ 33M] 5-5 初遇并行度 │ ├── [ 15M] 5-6 自定义类型数据转成RDD │ ├── [ 58M] 5-7 RDD创建方式之文件系统数据 │ ├── [8.0M] 5-8 【作业】拓展读取文件系统数据 │ ├── [ 55M] 5-9 RDD创建方式之MySQL中的表 │ ├── [ 26M] 5- 10 RDD操作概述 │ ├── [ 57M] 5- 11 transformation之map算子 │ ├── [ 34M] 5- 12 transformation之flatmap算子 │ ├── [ 30M] 5-13 transformation之mapPartitions算子 │ ├── [ 60M] 5- 14 transformation之filter算子 │ ├── [ 10M] 5- 15 transformation之sample算子 │ ├── [8.4M] 5- 16 transformation之glom算子 │ ├── [ 28M] 5- 17 transformation之zip算子 │ ├── [ 28M] 5- 18 从一个经典的面试题掌握算子底层的实现原理 │ ├── [ 37M] 5-19 transformation之mapValues算子 │ ├── [ 30M] 5-20 transformation之flatMapValues算子 │ ├── [9.6M] 5-21 transformation之keys&values算子 │ ├── [ 14M] 5- 22 transformation之keyBy算子 │ ├── [ 26M] 5-23 transformation之reduceByKey算子 │ ├── [ 21M] 5-24 transformation之groupByKey算子 │ ├── [ 25M] 5-25 经典面试题之reduceByKey对比groupByKey │ ├── [ 32M] 5- 26 transformation之groupBy算子 │ ├── [ 12M] 5- 27 transformation之sortBy算子 │ ├── [ 16M] 5-28 transformation之sortByKey算子 │ ├── [ 24M] 5-29 transformation之distinct算子 │ ├── [ 56M] 5- 30 transformation之cogroup算子 │ ├── [ 56M] 5- 31 transformation之join算子 │ ├── [ 28M] 5- 32 transformation之交并差算子 │ ├── [ 26M] 5- 33 action算子之collect │ ├── [ 20M] 5- 34 action算子之foreach │ ├── [ 26M] 5-35 action算子之foreachPartition │ ├── [ 26M] 5- 36 action算子之取数相关 │ ├── [ 64M] 5- 37 action算子之aggregate相关 │ ├── [ 23M] 5- 38 action算子之fold&reduce │ ├── [ 28M] 5-39 算子之countByKey&countByValue │ ├── [ 16M] 5- 40 算子之查看RDD的依赖关系 │ ├── [ 56M] 5- 41 【拓展】Java语言开发Spark应用之map │ ├── [ 25M] 5-42 【拓展】Java语言开发Spark应用之flatMap │ ├── [6.0M] 5-43 【拓展】Java语言开发Spark应用之filter │ └── [ 24M] 5- 44 【拓展】Java语言开发Spark应用之词频统计 ├── 6-智能物业运营系统第一篇:地理位置的解析实战/ │ ├── [4.9M] 6-1 本章概览 │ ├── [7.9M] 6-2 明确需求 │ ├── [ 23M] 6-3 架构拓展 │ ├── [ 62M] 6-4 省份维度统计功能开发 │ ├── [ 17M] 6-5 MySQL表及工具类准备 │ ├── [ 31M] 6-6 统计结果入表 │ ├── [ 12M] 6-7 统计结果入表迭代 │ ├── [ 39M] 6-8 【经典面试题】Spark中的闭包 │ ├── [ 33M] 6-9 【经典报错】Task not serializable- │ ├── [ 29M] 6- 10 使用RDD完成普通的Join操作 │ ├── [ 37M] 6- 11 使用RDD完成广播变量的Join操作 │ ├── [9.4M] 6- 12 使用广播变量迭代ip解析功能 │ ├── [ 30M] 6- 13 【非常重要】使用累加器完成数据质量指标 │ ├── [ 22M] 6- 14 累加器在使用过程中注意的坑 │ ├── [ 36M] 6- 15 自定义Int类型累加器 │ ├── [ 60M] 6- 16 自定义复杂类型累加器 │ ├── [ 46M] 6- 17 可视化框架部署 │ ├── [ 11M] 6- 18 可视化大屏制作 │ ├── [ 37M] 6- 19 全流程打包到服务器上运行 │ └── [ 22M] 6- 20 【扩展】高德地图API的使用 ├── 7-深入理解核心必备进阶:分区器依赖缓存策略/ │ ├── [3.9M] 7-1 本章概览 │ ├── [ 53M] 7-2 分区数调整算子 │ ├── [ 32M] 7-3 Spark中分区器的定义 │ ├── [ 45M] 7-4 自定义分区器在Spark中的使用 │ ├── [ 67M] 7-5 【加强】分区数及分区器加强 │ ├── [ 22M] 7-6 RDD的Lineage特性 │ ├── [ 36M] 7-7 【重要】窄依赖&宽依赖的定义 │ ├── [ 38M] 7-8 【重要】图解依赖及stage切分 │ ├── [ 14M] 7-9 ShuffleDependency类定义的参数说明 │ ├── [ 27M] 7- 10 初遇Spark的缓存 │ ├── [ 30M] 7- 11 缓存策略的选择 │ ├── [ 66M] 7- 12 【重要】不同缓存策略的测试 │ └── [9.5M] 7- 13 缓存清理 ├── 8-架构知其然知其所以然:术语&运行架构&on YARN/ │ ├── [2.5M] 8-1 本章概览 │ ├── [6.8M] 8-2 引入 │ ├── [ 65M] 8-3 【重要】核心术语之一 │ ├── [ 62M] 8-4 【重要】核心术语之二 │ ├── [8.2M] 8-5 核心术语总结 │ ├── [ 15M] 8-6 【补充】-DAG图 │ ├── [ 32M] 8-7 运行架构 │ ├── [9.5M] 8-8 YARN重要知识点 │ ├── [ 33M] 8-9 Spark on YARN概述 │ ├── [ 49M] 8- 10 client模式测试 │ ├── [ 34M] 8- 11 cluster模式测试 │ ├── [ 17M] 8- 12 【重要】两种模式的区别- │ └── [5.1M] 8- 13 【补充】多节点进程的分布 ├── 9-智能物业运营系统第二篇:大数据应用监控及告警/ │ ├── 【更多it资源 www.】 │ ├── [2.8M] 9-1 本章概览 │ ├── [ 17M] 9-2 监控在工作中的重要性 │ ├── [ 13M] 9-3 Spark应用程序执行完毕后存在的问题 │ ├── [ 65M] 9-4 为什么要引入历史服务 │ ├── [ 46M] 9-5 HistoryServer部署 │ ├── [ 22M] 9-6 HistoryServer重要参数讲解 │ ├── [ 45M] 9-7 学习如何阅读源码 │ ├── [ 35M] 9-8 如何基于HistoryServer打造自己的监控系统 │ ├── [ 36M] 9-9 【重要】打造自己的Spark应用程序监控设计 │ ├── [ 44M] 9- 10 邮件发送工具类开发 │ ├── [ 56M] 9- 11 【重要】实现自定义监控监听器 │ ├── [ 35M] 9- 12 【重要】是否告警开关控制 │ └── [5.4M] 9- 13 【拓展】其他监控系统 ├── 10-高手成长路线之学调优:RDD各种姿势的调优/ │ ├── [3.4M] 10-1 本章概览 │ ├── [ 16M] 10-2 调优展开的维度 │ ├── [ 58M] 10-3 调优之序列化 │ ├── [ 16M] 10-4 调优之算子的合理选择 01 │ ├── [7.5M] 10-5 调优之算子的合理选择 02 │ ├── [ 22M] 10-6 调优之算子的合理选择 03 │ ├── [ 41M] 10-7 调优之算子的合理选择 04 │ ├── [ 13M] 10-8 调优之算子的合理选择 05 │ ├── [ 49M] 10-9 调优之数据本地性 │ ├── [ 12M] 10- 10 case在spark-shell中的使用 │ ├── [ 19M] 10-11 dirname和if在spark-shell中的使用 │ ├── [ 28M] 10- 12 spark相关脚本的依赖关系 │ ├── [ 27M] 10- 13 Spark作业的资源影响问题 │ ├── [ 72M] 10- 14 Spark内存管理宏观认知 │ ├── [ 38M] 10- 15 Spark内存管理之SMM │ ├── [ 45M] 10- 16 Spark内存管理之UMM │ └── [ 33M] 10- 17 Spark内存管理之UMM扩展 ├── 11-智能物业运营系统第三篇:业务数据采集及累计问题/ │ ├── @更多it资源 www. │ ├── [4.6M] 11-1 本章概览 │ ├── [7.3M] 11-2 数据采集框架介绍 │ ├── [ 23M] 11-3 DataX是什么 │ ├── [ 19M] 11-4 DataX工作原理 │ ├── [ 17M] 11-5 DataX运行流程 │ ├── [ 28M] 11-6 DataX快速入门 │ ├── [ 85M] 11-7 使用DataX完成MySQL2HDFS的操作 │ ├── [ 29M] 11-8 使用DataX完成MySQL2HDFS的操作续 │ ├── [ 18M] 11-9 使用DataX完成MySQL2HDFS分区的操作 │ ├── [ 12M] 11- 10 数据关联Hive表 │ ├── [ 22M] 11- 11 实战之需求描述 │ ├── [ 12M] 11- 12 实战之数据流向分析 │ ├── [ 57M] 11- 13 实战之加载数据到Hive表 │ ├── [ 73M] 11- 14 实战之Hive自连接方式分拆实现 │ ├── [ 34M] 11- 15 实战之Hive自连接方式完整实现及优化 │ ├── [ 15M] 11- 16 实战之Hive窗口函数实现 │ └── [ 57M] 11- 17 实战之使用RDD算子实现 ├── 12-最热门的AI大模型入门:ChatGPT为工作插上翅膀/ │ ├── [2.9M] 12-1 本章概览 │ ├── [ 16M] 12-2 认识OpenAI这家公司 │ ├── [8.7M] 12-3 语言模型&大语言模型的趋势 │ ├── [ 29M] 12-4 NLP发展历程 │ ├── [ 12M] 12-5 国内大模型介绍 │ ├── [ 24M] 12-6 【重要】Open AI账号注册 │ ├── [ 29M] 12-7 OpenAI 接口测试 │ ├── [ 49M] 12-8 通过案例演示大模型工作原理 │ ├── [ 45M] 12-9 【重要】通过案例知晓大模型的使用场景 │ ├── [ 16M] 12- 10 模型演化 … 其余 2 12 项略,目录共 412 项






