Python大数据架构全栈开发与应用
- ISBN:9787121453038
- 装帧:平装
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:444
- 出版时间:2023-04-01
- 条形码:9787121453038 ; 978-7-121-45303-8
本书特色
"《Python大数据架构全栈开发与应用》的核心价值:助您迅速了解场景和需求/框架和组件/技术迭代和升级/应用扩展和二次开发/平衡技术性能、稳定性、开发效率、运维便利性、技术趋势及成本。 目标读者: 本书适合高等院校的在校学生、数据运营人员、Python开发者,以及希望转型为Python开发者的读者使用。"
内容简介
本书介绍了如何使用 Python 实现企业级的大数据全栈式开发、设计和编程工作,涉及的知识点包括数据架构整体设计、数据源和数据采集、数据同步、消息队列、关系数据库、NoSQL 数据库、批处理、流处理、图计算、人工智能、数据产品开发。 本书既深入浅出地介绍了不同技术组件的基本原理,又通过详细对比介绍了如何根据不同场景选择很好实践技术方案,并通过代码实操帮助读者快速掌握常用技术的应用过程,*后通过项目案例介绍了如何将所学知识应用于实际业务场景中。
目录
1.1 数据架构概述 1
1.2 数据架构设计的8个考虑因素 1
1.2.1 适用性 2
1.2.2 延伸性 2
1.2.3 安全性 3
1.2.4 易用性 3
1.2.5 高性能 4
1.2.6 成本 5
1.2.7 应用需求 5
1.2.8 运维管理 5
1.3 数据架构设计的4个核心内容 6
1.3.1 物理架构 6
1.3.2 逻辑架构 10
1.3.3 技术架构 13
1.3.4 数据流架构 15
1.4 常见的6种数据架构 17
1.4.1 简单数据库支撑的数据架构 17
1.4.2 传统数仓支撑的数据架构 18
1.4.3 传统大数据架构 20
1.4.4 流式大数据架构 22
1.4.5 流批一体大数据架构 23
1.4.6 存算分离的流批一体大数据架构 25
1.5 案例:某B2B企业的数据架构选型 26
1.5.1 企业背景 26
1.5.2 应用预期 27
1.5.3 数据现状 27
1.5.4 选型分析 27
1.5.5 选型方案 28
1.5.6 未来拓展 29
1.6 常见问题 29
第2章 数据源和数据采集 32
2.1 数据源概述 32
2.1.1 常见的3种数据类型 32
2.1.2 常见的8种数据源 33
2.2 企业内部流量数据采集技术选型 33
2.2.1 企业内部流量数据采集常用的技术 34
2.2.2 内部流量数据采集技术选型的因素 37
2.2.3 内部流量数据采集技术选型总结 39
2.3 企业外部互联网数据采集技术选型 40
2.3.1 外部互联网数据采集常用的4种技术 40
2.3.2 外部互联网数据采集技术选型的5个因素 44
2.3.3 外部互联网数据采集技术选型总结 44
2.4 使用Requests+BeautifulSoup抓取数据并写入Sqlite 45
2.4.1 安装配置 45
2.4.2 基本示例 46
2.4.3 高级用法 47
2.4.4 技术要点 53
2.5 使用Scrapy+XPath抓取数据并写入MongoDB 54
2.5.1 安装配置 54
2.5.2 基本示例 55
2.5.3 高级用法 62
2.5.4 技术要点 69
2.6 案例:某B2C电商企业的数据源结构 69
2.6.1 企业背景 69
2.6.2 业务系统 69
2.6.3 数据源结构 71
2.7 常见问题 71
第3章 数据同步 74
3.1 数据同步概述 74
3.1.1 数据同步的3种模式 74
3.1.2 数据同步的5种预处理技术 75
3.2 数据同步的技术选型 76
3.2.1 数据同步的7种技术 76
3.2.2 数据同步选型的9个因素 80
3.2.3 数据同步技术选型总结 82
3.3 Python操作DataX实现数据同步 83
3.3.1 安装配置 84
3.3.2 基本示例 84
3.3.3 高级用法 89
3.3.4 技术要点 95
3.4 Python操作第三方库实现Google Analytics数据同步 96
3.4.1 安装配置 96
3.4.2 基本示例 100
3.4.3 高级用法 104
3.4.4 技术要点 111
3.5 案例:某O2O企业离线数据同步案例 112
3.6 常见问题 114
第4章 消息队列 117
4.1 消息队列概述 117
4.1.1 消息队列的核心概念 117
4.1.2 选择消息队列的3种技术应用场景 118
4.2 消息队列的技术选型 119
4.2.1 常见的6种消息队列技术 119
4.2.2 消息队列技术选型的4个维度 121
4.2.3 消息队列技术选型总结 123
4.3 Python操作RabbitMQ处理消息队列服务 124
4.3.1 安装配置 124
4.3.2 基本示例 125
4.3.3 高级用法 129
4.3.4 技术要点 131
4.4 Python操作Kafka处理消息队列服务 132
4.4.1 安装配置 132
4.4.2 基本示例 135
4.4.3 高级用法 138
4.4.4 技术要点 139
4.5 Python操作ZeroMQ处理消息队列服务 140
4.5.1 安装配置 140
4.5.2 基本示例 140
4.5.3 高级用法 146
4.5.4 技术要点 150
4.6 案例:利用消息队列采集电商用户行为数据 151
4.6.1 案例背景 151
4.6.2 主要技术 151
4.6.3 案例过程 152
4.6.4 案例小结 155
4.7 常见问题 156
第5章 关系数据库 158
5.1 关系数据库概述 158
5.1.1 关系数据库的相关概念 158
5.1.2 使用关系数据库的3种场景 158
5.2 关系数据库的技术选型 159
5.2.1 常见的5种技术选型 159
5.2.2 关系数据库选型的3个维度 161
5.2.3 关系数据库技术选型总结 162
5.3 使用基于DB-API 2.0规范的PyMySQL操作MySQL数据库 162
5.3.1 安装配置 163
5.3.2 基本示例 163
5.3.3 高级用法 165
5.3.4 技术要点 169
5.4 使用基于ORM技术的SQLAlchemy操作PostgreSQL数据库 170
5.4.1 安装配置 170
5.4.2 基本示例 171
5.4.3 高级用法 175
5.4.4 技术要点 180
5.5 案例:某传统零售企业基于关系数据库的数据集市 181
5.5.1 企业背景 181
5.5.2 企业为什么选择SQL Server作为数据集市 181
5.5.3 数据字典 181
5.5.4 应用场景 183
5.6 常见问题 184
第6章 NoSQL数据库 186
6.1 NoSQL数据库概述 186
6.1.1 NoSQL数据库的相关概念 186
6.1.2 使用NoSQL数据库的5种场景 187
6.2 不同类型NoSQL数据库的技术选型 188
6.2.1 常见的3种键值数据库技术选型 188
6.2.2 常见的3种文档型数据库的技术选型 188
6.2.3 常见的两种列式存储数据库的技术选型 190
6.2.4 常见的两种图数据库的技术选型 190
6.2.5 NoSQL数据库技术选型的五大维度 191
6.2.6 NoSQL数据库技术选型总结 192
6.3 使用Python操作HBase 193
6.3.1 安装配置 193
6.3.2 基本示例 195
6.3.3 HBase应用过滤器进行复杂查询 199
6.3.4 批量操作 201
6.3.5 技术要点 201
6.4 使用Python操作Redis 202
6.4.1 安装配置 202
6.4.2 基本示例 203
6.4.3 使用HyperLogLog实现独立IP计数器 210
6.4.4 Redis数据持久化 212
6.4.5 技术要点 213
6.5 使用Python操作ES 213
6.5.1 安装配置 213
6.5.2 基本示例 215
6.5.3 批量加载文档到ES+使用Kibana进行分析 220
6.5.4 技术要点 228
6.6 使用Python操作Neo4j 230
6.6.1 安装配置 230
6.6.2 基本示例 231
6.6.3 APOC 234
6.6.4 技术要点 236
6.7 使用Python操作MongoDB 237
6.7.1 安装配置 237
6.7.2 基本示例 237
6.7.3 文档聚合与管道 239
6.7.4 技术要点 242
6.8 案例:某菜谱网站基于ES+Redis构建智能搜索推荐引擎 243
6.8.1 案例背景 243
6.8.2 为什么选择ES+Redis 243
6.8.3 系统架构 244
6.8.4 相关要点 245
6.8.5 案例延伸 246
6.9 常见问题 246
第7章 批处理 247
7.1 批处理概述 247
7.1.1 批处理的基本特征 247
7.1.2 批处理的3类应用场景 248
7.2 批处理的技术选型 248
7.2.1 批处理的5种技术 248
7.2.2 批处理选型的8个技术因素 250
7.2.3 批处理选型总结 251
7.3 Python使用PyHive操作HQL进行批处理 252
7.3.1 安装配置 252
7.3.2 基本示例 252
7.3.3 数据批量加载及处理 256
7.3.4 Hive函数 259
7.3.5 窗口 268
7.3.6 技术要点 272
7.4 PySpark操作DataFrame进行批处理 273
7.4.1 安装配置 273
7.4.2 基本示例 273
7.4.3 常用Spark DataFrame操作示例 277
7.4.4 使用Spark MLlib + DataFrame进行特征工程 281
7.4.5 技术要点 282
7.5 案例:某B2C企业基于PySpark实现用户画像标签的构建 283
7.6 常见问题 285
第8章 流处理 288
8.1 流处理概述 288
8.1.1 流处理的核心概念 288
8.1.2 流处理的3个特征 289
8.1.3 流处理的适用/不适用场景 289
8.2 流处理的依赖条件 290
8.2.1 流数据 290
8.2.2 流式应用 291
8.3 流处理的技术选型 291
8.3.1 流处理的3种技术 291
8.3.2 流处理选型的7个技术因素 295
8.3.3 流处理技术选型总结 295
8.4 Python操作Structured Streaming实现流处理 296
8.4.1 安装配置 296
8.4.2 基本示例 298
8.4.3 高级用法 322
8.4.4 技术要点 328
8.5 案例:某B2C企业基于Structured Streaming实现实时话题热榜统计 330
8.6 常见问题 331
第9章 图计算 333
9.1 图计算概述 333
9.1.1 图计算的特征 333
9.1.2 图计算的算法和应用场景 334
9.2 图计算引擎的技术选型 335
9.2.1 图计算的8种技术 335
9.2.2 图计算选型的8个技术因素 338
9.2.3 图计算选型总结 339
9.3 Python操作GraphFrames实现图计算 341
9.3.1 安装配置 341
9.3.2 构建图 341
9.3.3 视图分析 342
9.3.4 子顶点、子边和子图过滤 344
9.3.5 度分析 345
9.3.6 模体查找 346
9.3.7 图持久化 348
9.3.8 广度优先搜索 348
9.3.9 *短路径搜索 349
9.3.10 连通分量和强连通分量 351
9.3.11 标签传播 351
9.3.12 通用网页排名和个性化网页排名 352
9.3.13 三角形计数 354
9.3.14 技术要点 355
9.4 案例:基于用户社交行为的分析 355
9.5 常见问题 359
第10章 人工智能 361
10.1 人工智能概述 361
10.1.1 人工智能的4种应用场景 361
10.1.2 人工智能的12类常用算法介绍 362
10.2 人工智能的技术选型 366
10.2.1 常见的3种技术框架 366
10.2.2 人工智能选型的6个因素 368
10.2.3 人工智能选型总结 369
10.3 PySpark ML的应用实践 370
10.3.1 准备数据 371
10.3.2 特征工程和处理 373
10.3.3 核心算法应用 375
10.3.4 Pipeline式应用 381
10.3.5 训练和预测拆分及持久化操作 384
10.3.6 超参数优化的实现 386
10.4 案例:某B2C企业推荐系统的搭建与演进 387
10.4.1 总体设计思想 388
10.4.2 PoC:验证想法 389
10.4.3 推荐系统的起步 390
10.4.4 完善线上与线下推荐 391
10.4.5 在线实时计算 393
10.5 常见问题 394
第11章 数据产品开发 398
11.1 数据产品开发概述 398
11.2 数据产品的路线选型 399
11.3 Python数据产品自研的技术选型 400
11.4 基于Django的产品开发 401
11.4.1 安装配置 402
11.4.2 基本示例 402
11.4.3 Django REST Framework 410
11.4.4 技术要点 416
11.5 案例:某企业基于Django构建内部用户画像标签产品 420
11.6 常见问题 421
附录A Docker安装使用 422
附录B 使用EMR搭建Hadoop大数据集群 426
相关资料
"如果没有良好的技术视野和实施能力,数据驱动价值很可能是一句空话。我将本书力荐给热爱数据技术的朋友,特别是数据分析师、商业分析师和数据咨询顾问。相信我,了解这些实用的数据技术知识,对您的工作尤为重要。 —— 王晓东 触脉咨询创始人 本书以很好实践为起点,帮助读者重新审视企业在数据智能的起始阶段应该如何做才会更好。长远来看,数据将变成一个企业的硬实力和核心竞争力,越来越多的企业将继续投资在数据和数字化转型方面,以提高效率。本书著者将自己的探索心得融入书中,意在指引和勉励读者在这场变革中脱颖而出。这还需要实践者不断试验,不断迭代,这个过程我们一起加油。 —— 姬静涛 谷歌大中华区数据分析及游戏出海负责人 从一个电商行业从业者的视角来看,本书覆盖了电商行业数据产生以后的收集、传输、聚合、存储、机器学习等技术领域,以及个性化推荐、商业智能等业务领域。这些覆盖领域均需要经过大量的开发工作才能构建起对应的系统平台。与传统的编程语言相比,Python由于接近自然语言的编程特征,以及拥有众多的第三方库支持,使得其在复杂数据处理过程中拥有很高的效率。本书内容由浅入深,从基础理念到架构设计,做到了全面覆盖,对具有一定编程基础的开发和运维人员来说是一本很好的工具书。 —— 刘艺 兰亭集势技术总监,成都研发中心总经理 作为数据从业者,深知大数据领域的广阔无垠和深不见底,本书以企业数字智能和数据架构为引,细探整个数据链路,从采集、中间件处理、存储到挖掘与分析及人工智能实践,内容丰富翔实,完整涵盖了数据从生产到使用的全生命周期,值得不同阶段的从业者细读。 —— 曹江岚 金山办公国际业务数据分析负责人 宋天龙老师深耕数据分析领域多年,拥有丰富的数据项目经验。在本书中,他立足应用场景,为我们提供了系统的、可操作的实践指南。全书脉络清楚,通俗易懂,反映了著者多年的企业数据服务与治理的经验沉淀。本书不仅面向大数据领域从业者,还对试图在架构层面上理解企业数据及数据规划的人员有很高的参考价值。 —— 李博文 Luvme联合创始人 近年来,人工智能对跨境电商领域的影响日趋增大。为了提供更加个性化的购物体验,基于人工智能的分析和应用显得格外重要。本书从实战角度讲解了如何利用Python进行数据挖掘和数据分析的全流程,并进一步透过更多的海内外电商典型案例进行详细剖析,在业务上可真正指导落地,对于帮助跨境电商企业洞察消费者购买行为,以及改善销售转化效果具有实际参考意义,值得读者反复研究和实践。 —— 李铖 细刻网络CTO 作为数据从业者,这两年切身体会到技术日新月异的进步,以及企业对于数据应用不断增长的创新需求。企业越来越需要数据从业者转型为全能型人员以快速将产品投入研发和使用,但技术的底层逻辑不同直接影响数据应用的效果,我们需要这样一本书来带领我们了解技术的底层逻辑,相信宋天龙老师多年来的从业经验能够给我们一些不同的思考。 —— 冯钟晓 联合利华饮食策划部资深CRM经理 本书从数据的核心价值讲起,逐步展开,讲到底层的实现,事无巨细地展示了企业开展数据工作时应有的全貌。跟随本书的内容进行实践,能够从平地搭建起数字化的大厦。即使读者暂时还不能理解书中涉及的所有环节的内容,也仍然能够建立起数据工作全面的知识框架,拓宽自己在数据领域的认知边界。 —— 孙维 卡车之家智能数据中心总监 "
作者简介
"宋天龙,触脉咨询副总裁、合伙人。负责创新型业务的架构和方案设计、产品与技术研发、数据团队建设及管理。 张伟松,现就职于埃森哲,担任数据架构师职位。在大数据、数据分析、云计算等领域有多年的实践经验,并拥有阿里云、谷歌云等多项专业认证。"
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0 -
PREMIERE PRO 2023全面精通:视频剪辑+颜色调整+转场特效+字幕制作+案例实战
¥69.3¥99.0