课程简介 当前我们正处于一个数据经济时代,无论对于一线互联网企业,还是传统企业,对于内部累积的海量数据,都可以从中挖掘出对企业发展深有裨益的知识财富。对于数据挖掘工具而言,实时计算则更能紧跟当前实时数据动态变换,给出一些实时策略调整建议。对于实时计算而言,当前流行的计算工具以Storm(JStorm)、Spark Streaming、Flink为代表,诚然这些工具确实解决了很大部分实时计算需求,但对于一些传统企业或创业早期公司而言,如果也想解决实时计算需求,限于内部资源(人才和硬件)问题,则不见得适合选择这些相对比较重量级框架(维护成本很高);就解决问题而言,如同架构设计或企业招聘一样,选择合适解决方案即可。 我个人一直从事搜索推荐方面的架构设计工作,根据在百丽优购、搜狐、网易、一点资讯等多年的个性化推荐架构设计经验,这次带领大家一起学习实时计算架构以及在个性化推荐中的使用,重点给大家介绍如何零基础构建一个轻量级实时计算平台,理论结合实践,并重点讲述案例,深入剖析。 课程大纲 第1课 实时计算当前应用 1.1 何为实时计算系统? 1.2 实时计算与日常生活 1.3 实时计算在日常工作 1.4 当前主流实时计算框架 1.4.1 Storm/Jstorm 1.4.2 Spark Streaming 1.4.3 底层技术 1.5 当前实时计算在企业应用 1.5.1 实时计算在一线互联网企业 1.5.2 实时计算在传统企业与初创企业 第2课 构建属于自己的轻量级实时计算框架 1.1 实时计算演变 1.1.1 简易版 1.1.2 升级版 1.1.3 升级版应用案例 1.2 构建个人终极实时计算框架 1.2.1 总体逻辑架构 1.2.2 总体物理架构 1.2.3 要点难点 第3课 实时计算框架—数据流实时接收篇 3.1 当前主流MQ 3.1.1 RabbitMQ 3.1.2 Kafka 3.2 实时数据流处理方式 3.2.1 单条 3.2.2 Mini- Batch 3.3 应用实例 实时接收新闻APP的用户行为数据、入库并同时更新用户画像标签权重 第4课 实时计算之底层服务通信 4.1 当然热门RPC 4.1.1 Thrift 架构、数据类型、传输协议及传输和服务方式 分词服务实例:Java-python 4.1.2 Avro 序列化/反序列化实例 RPC服务实例: java-2-java之helloworld 4.2 WebService 4.2.1 基于Jetty嵌入式的轻量级WebService实例 第5课 实时计算框架——SpringBoot和资源管理Zookeeper 5.1 轻量级WebService: SpringBoot 简介 SpringBoot VS SpringMVC 快速开发(base on Version1.5.9) SpringBoot vs Jetty嵌入式WebService 实际项目演练 5.2 资源管理—zookeeper 简介 Zk安装启动(base on Version3.4.11) ZK之Web管理工具zkdash 客户端Curator:CRUD及监听 实际项目演练 第6课 实时计算之任务调度及任务拆分独立计算 6.1 任务调度 Linux Crontab Quartz JDK自身Timer 实际项目演练 6.1 任务拆分独立计算 Map/Reduce Fork/Join Map/Reduce VS Fork/Join 实际项目演练 第7课 实时计算框架之高可用及服务监控 7.1 服务高可用 7.1.1 QPS/TPS 7.1.2 异步并行执行 7.1.3 多级缓存 7.1.4 Shard/replica 7.2 服务监控 7.2.1 服务所在硬件监控 7.2.2 服务实时健康状况监控 7.2.3 服务降级 第8课 实时计算框架之缓存篇 8.1 网络缓存: 8.1 Redis/ssdb/memcachedb 8.2 Redis4.0安装及新特性 8.3 Redis客户端使用 8.2 本地缓存: 8.2.1 GuavaCache 缓存清理策略 两种使用方式 8.2.2 MapDB简介及使用 9.1 内容相似 9.1.1 常用分词器 9.1.2 内容相似算法 9.2 关联规则 9.3 协同过滤: UserCF和ItemCF 9.4 知识图谱 9.4.1 前世今生 9.4.2 Neo4J 9.4.3 OrientDB 9.5 主题模型 9.5.1 词义扩展:w2v、 d2v 9.5.2 层级聚类 第10课 深度学习DLJ和用户画像 10.1 深度学习框架DL4J 10.1.1 简介及Java使用 10.1.2 模型训练:w2v和d2v 10.1.3 使用训练好的模型:w2v和d2v 10.2 用户画像组成 10.2.1 用户画像直观形象 10.2.2 不同维度看待 10.2.3 画像存储 第11课 个性化推荐之用户画像实时更新 11.1 用户实时推荐服务 11.1.1 user-feature 11.1.2 doc-feature 11.1.3 二次排序 11.2 用户画像实时更新流程 11.2.1 正负反馈 11.2.2 时间衰减:牛顿冷却定理 11.2.2 实时兴趣标签权重更新 第12课 高可用搜索服务系统之索引篇 12.1 ES vs Solr 12.1.1 DBEngines排名比较 12.1.2 综合比较 12.2 ES6.X介绍 xpack head bigdesk new feature 12.2 海量索引拆分:背景及解决方案 12.3 多集群索引双写同步 第13课 高可用搜索服务系统之查询篇 13.1 高可用搜索服务 ES集群健康状况监测 双ES集群互备 搜索服务之双读 索引拆分后高效使用 13.2 个性化搜索 条件过滤查询 关键词检索、结合知识图谱 个性化搜索:相同搜索条件,不同返回结果 实时计算用户画像 授课时间:课程将于2024年10月17日开课,课程持续时间大约为15周。 授课对象:有一定Java基础,对实时计算、数据挖掘、搜索及个性化推荐感兴趣的同学。 授课环境:eclipse + linux + java8 收获预期: 1. 有自己应对实时计算需求的解决方案,不再盲从跟众,有自己独到见解。2. 对实时计算涉及底层技术都能熟练使用; 3. 对当前个性化推荐及搜索有整体认识,并有能力付诸于企业实践; 讲师简介: light, 某海外资讯创业公司首席架构师&技术合伙人,硕士毕业10年,曾任职多个一线互联网企业技术专家、资深架构师等,多年来一直从事搜索、数据挖掘和个性化推荐的设计、研发工作,曾多次从零构建完整的搜索和推荐系统,曾开源轻量级分布式实时计算框架light_drtc,并于2016年出版《分布式实时计算框架原理及实践案例》一书。 课程视听: |