[套装书]用户画像:方法论与工程化解决方案+Hive性能调优实战(2册)

作者
赵宏田林志煌
丛书名
出版社
机械工业出版社
ISBN
9782002279413
简要
简介
内容简介书籍计算机书籍 ---------------------------用户画像:方法论与工程化解决方案--------------------------- 本书从技术维度系统讲解了用户画像的方法论和一些常见的工程化解决方案。 全书共分为9个章节。 第一章 用户画像基础:讲述用户画像的一些基础概念、数据仓库架构、整个项目开发的流程、以及画像相关的表结构设计; 第二章 数据指标体系:从用户属性、用户行为、用户消费、风险控制等四个维度详细罗列了常用到的用户标签,这些标签基本涵盖了大部分场景一半以上的标签需求。同时介绍了标签的规范化命名方式; 第三章 标签数据存储:讲了为什么使用Hive、MySQL、hbase等数据库对标签数据进行存储,以及存储实现方式; 第四章 标签数据开发:本章是全书的重点章节,讲述了统计类标签、规则类标签、挖掘类标签、流式计算类标签的开发。以及用户特征库、人群计算、标签权重计算、打通数据服务层等方面的开发。; 第五章 开发性能调优:主要包括数据倾斜调优、开发中间表、读取小文件处理、redis缓存热数据等数据性能优化方面; 第六章 作业流程调度:数据的ETL调度是数据开发中的重要内容,本章主要讲了如何使用当下热门的开源调度工具Airflow进行数据的调度及场景调度异常的排查工作; 第七章 用户画像产品化:开发画像后的标签数据,如果只是“躺在”数据仓库中,并不能发挥更大的业务价值。只有将画像数据产品化后才能更方便业务方的使用。本章主要讲述了产品端的用户画像是什么样子?如何帮助业务人员进行分析,提供服务的; 第八章 用户画像应用:用户画像的应用包括用户分析、商品分析、流量分析、push、短信、邮件等营销以及站内的个性化推荐等应用场景; 第九章 实践案例详解:前面的八个章节主要从工程化开发的角度讲了如何从0到1搭建起用户画像系统及其应用场景,本章从完整的工业实践应用角度,通过两个实践案例帮助读者更好地理解画像系统是如何切入到应用场景中帮助提升工作效率、提高ROI的。 ---------------------------Hive性能调优实战--------------------------- . 本书是一本关于Apache Hive调优的书籍,旨在介绍如何进行Hive的调优,以及调优时如果使用的工具。本书在最开始会介绍Hive优化多面性,以及如何在众多的调优技巧中寻找一条调优的思路。接着介绍Hive安装,为了方便读者的练习,我们主要介绍Docker安装Hive的方式和使用cloudera提供工具Hive的方式。介绍完安装Hive方式,我们会继续介绍Hive在优化时涉及的Hadoop组件和Hive工具。最后会介绍如何监控Hive在运行时出现性能问题。本书适合对大数据开发感兴趣的爱好者、对Hive优化有兴趣的人员使用。
目录



---------------------------用户画像:方法论与工程化解决方案---------------------------


前言
第1章 用户画像基础1
1.1 用户画像是什么1
1.1.1 画像简介1
1.1.2 标签类型3
1.2 数据架构4
1.3 主要覆盖模块5
1.4 开发阶段流程7
1.4.1 开发上线流程7
1.4.2 各阶段关键产出9
1.5 画像应用的落地10
1.6 某用户画像案例11
1.6.1 案例背景介绍11
1.6.2 相关元数据12
1.6.3 画像表结构设计16
1.7 定性类画像21
1.8 本章小结22
第2章 数据指标体系23
2.1 用户属性维度23
2.1.1 常见用户属性23
2.1.2 用户性别26
2.2 用户行为维度27
2.3 用户消费维度27
2.4 风险控制维度29
2.5 社交属性维度30
2.6 其他常见标签划分方式31
2.7 标签命名方式33
2.8 本章小结34
第3章 标签数据存储35
3.1 Hive存储35
3.1.1 Hive数据仓库35
3.1.2 分区存储37
3.1.3 标签汇聚39
3.1.4 ID-MAP41
3.2 MySQL存储45
3.2.1 元数据管理45
3.2.2 监控预警数据47
3.2.3 结果集存储47
3.3 HBase存储50
3.3.1 HBase简介50
3.3.2 应用场景52
3.3.3 工程化案例52
3.4 Elasticsearch存储59
3.4.1 Elasticsearch简介59
3.4.2 应用场景60
3.4.3 工程化案例64
3.5 本章小结67
第4章 标签数据开发69
4.1 统计类标签开发69
4.1.1 近30日购买行为标签案例70
4.1.2 最近来访标签案例73
4.2 规则类标签开发74
4.2.1 用户价值类标签案例75
4.2.2 用户活跃度标签案例79
4.3 挖掘类标签开发84
4.3.1 案例背景84
4.3.2 特征选取及开发85
4.3.3 文本分词处理86
4.3.4 数据结构处理89
4.3.5 文本TF-IDF权重90
4.3.6 朴素贝叶斯分类92
4.4 流式计算标签开发95
4.4.1 流式标签建模框架95
4.4.2 Kafka简介96
4.4.3 Spark Streaming集成Kafka97
4.4.4 标签开发及工程化99
4.5 用户特征库开发104
4.5.1 特征库规划105
4.5.2 数据开发107
4.5.3 其他特征库规划111
4.6 标签权重计算112
4.6.1 TF-IDF词空间向量112
4.6.2 时间衰减系数114
4.6.3 标签权重配置115
4.7 标签相似度计算116
4.7.1 案例场景116
4.7.2 数据开发118
4.8 组合标签计算122
4.8.1 应用场景122
4.8.2 数据计算123
4.9 数据服务层开发124
4.9.1 推送至营销系统125
4.9.2 接口调用服务127
4.10 GraphX图计算用户129
4.10.1 图计算理论及应用场景129
4.10.2 数据开发案例132
4.11 本章小结135
第5章 开发性能调优137
5.1 数据倾斜调优137
5.2 合并小文件141
5.3 缓存中间数据143
5.4 开发中间表144
5.5 本章小结145
第6章 作业流程调度146
6.1 crontab命令调度146
6.2 Airflow工作平台148
6.2.1 基础概念149
6.2.2 Airflow服务构成150
6.2.3 Airflow安装151
6.2.4 主要模块功能151
6.2.5 工作流调度155
6.2.6 脚本实例155
6.2.7 常用命令行158
6.2.8 工程化调度方案158
6.3 数据监控预警161
6.3.1 标签监控预警161
6.3.2 服务层预警162
6.4 ETL异常排查164
6.5 本章小结166
第7章 用户画像产品化167
7.1 即时查询167
7.2 标签视图与标签查询169
7.3 元数据管理171
7.4 用户分群功能173
7.5 人群分析功能175
7.6 本章小结177
第8章 用户画像应用178
8.1 经营分析178
8.1.1 商品分析178
8.1.2 用户分析179
8.1.3 渠道分析180
8.1.4 漏斗分析185
8.1.5 客服话术186
8.1.6 人群特征分析186
8.2 精准营销187
8.2.1 短信/邮件营销187
8.2.2 效果分析188
8.3 个性化推荐与服务189
8.4 本章小结190
第9章 实践案例详解191
9.1 风控反欺诈预警191
9.1.1 应用背景191
9.1.2 用户画像切入点192
9.2 A/B人群效果测试193
9.2.1 案例背景194
9.2.2 用户画像切入点194
9.2.3 效果分析195
9.3 用户生命周期划分与营销195
9.3.1 生命周期划分196
9.3.2 不同阶段的用户触达策略201
9.3.3 画像在生命周期中的应用204
9.3.4 应用案例206
9.4 高价值用户实时营销209
9.4.1 项目应用背景209
9.4.2 用户画像切入点209
9.4.3 HBase应用场景小结209
9.5 短信营销用户211
9.5.1 案例背景211
9.5.2 画像切入及其应用效果211
9.6 Session行为分析应用213
9.6.1 关于用户行为分析213
9.6.2 案例背景218
9.6.3 特征构建219
9.6.4 分析方法与结论221
9.7 人群效果监测报表搭建228
9.7.1 案例背景228
9.7.2 逻辑梳理228
9.7.3 自动报表邮件237
9.8 基于用户特征库筛选目标人群239
9.8.1 案例背景239
9.8.2 应用方式及效果240
9.9 本章小结241
附录 某产品用户画像项目规划文档242



---------------------------Hive性能调优实战---------------------------


前言
第1章 举例感受Hive性能调优的多样性 1
1.1 感受改写SQL对性能的影响 1
1.1.1 数据准备 1
1.1.2 union案例 4
1.1.3 改写SQL实现union的优化 5
1.1.4 失败的union调优 8
1.2 感受调整数据块大小对性能的影响 10
1.2.1 数据准备 11
1.2.2 案例比较 11
1.3 感受不同数据格式对性能的提升 15
1.3.1 数据准备 15
1.3.2 案例比较 16
1.4 感受不同的表设计对性能的影响 18
1.4.1 数据准备 19
1.4.2 案例比较 21
1.5 调优其实不难 24
第2章 Hive问题排查与调优思路 25
2.1 小白推演Hive的优化方法 25
2.1.1 类比关系型数据库的调优 25
2.1.2 学习大数据分布式计算的基本原理 28
2.1.3 学习使用YARN提供的日志 31
2.1.4 干预SQL的运行方式 33
2.2 老工对Hive的调优理解 36
2.2.1 从一个过度优化案例说起 36
2.2.2 编码和调优的原则 43
2.2.3 Hive程序相关规范 49
2.3 总结调优的一般性过程 51
第3章 环境搭建 53
3.1 Docker基础 53
3.1.1 Docker介绍 54
3.1.2 安装Docker 56
3.1.3 常见的Docker使用与管理命令 58
3.1.4 使用Dockerfile构建服务镜像 60
3.1.5 Dockerfile语法 63
3.2 Cloudera Docker搭建伪分布式环境 66
3.3 Docker搭建分布式集群 68
3.3.1 构建JDK镜像 69
3.3.2 构建Hadoop镜像 70
3.3.3 构建Hive镜像 72
3.3.4 启动集群 73
3.4 CDM搭建分布式集群 75
3.4.1 Cloudera Manager组件 75
3.4.2 Docker构建软件安装内部源 76
3.4.3 CDM安装分布式集群 79
3.5 使用GitHub开源项目构建集群 87
第4章 Hive及其相关大数据组件 89
4.1 Hive架构 89
4.1.1 Hive 1.x版本基本结构 89
4.1.2 Hive元数据 91
4.2 YARN组件 97
4.2.1 YARN的优点 97
4.2.2 YARN基本组成 97
4.2.3 YARN工作流程 99
4.2.4 YARN资源调度器 100
4.3 HDFS架构 102
4.3.1 常见HDFS优化 102
4.3.2 HDFS基本架构和读写流程 103
4.3.3 HDFS高可用架构 105
4.3.4 NameNode联盟 107
4.4 计算引擎 109
4.4.1 MapReduce计算引擎 109
4.4.2 Tez计算引擎 111
4.4.3 LLAP长时在线与处理程序 113
4.4.4 Spark计算引擎 115
第5章 深入MapReduce计算引擎 117
5.1 MapReduce整体处理过程 117
5.2 MapReduce作业输入 118
5.2.1 输入格式类InputFormat 118
5.2.2 InputFormat在Hive中的使用 120
5.3 MapReduce的Mapper 121
5.3.1 Mapper类 121
5.3.2 Hive中与Mapper相关的配置 123
5.4 MapReduce的Reducer 125
5.4.1 Reducer类 126
5.4.2 Hive中与Reducer相关的配置 127
5.5 MapReduce的Shuffle 128
5.6 MapReduce的Map端聚合 129
5.6.1 Combiner类 129
5.6.2 Map端的聚合与Hive配置 130
5.7 MapReduce作业输出 131
5.7.1 OutputFormat作业输出 132
5.7.2 Hive配置与作业输出 133
5.8 MapReduce作业与Hive配置 134
5.9 MapReduce与Tez对比 135
5.9.1 通过案例代码对比MapReduce和Tez 135
5.9.2 Hive中Tez和LLAP相关的配置 141
第6章 HiveSQL执行计划 143
6.1 查看SQL的执行计划 143
6.1.1 查看执行计划的基本信息 144
6.1.2 查看执行计划的扩展信息 148
6.1.3 查看SQL数据输入依赖的信息 148
6.1.4 查看SQL操作涉及的相关权限信息 152
6.1.5 查看SQL的向量化描述信息 152
6.2 简单SQL的执行计划解读 158
6.3 带普通函数/操作符SQL的执行计划解读 161
6.3.1 执行计划解读 161
6.3.2 普通函数和操作符 162
6.4 带聚合函数的SQL执行计划解读 164
6.4.1 在Reduce阶段聚合的SQL 164
6.4.2 在Map和Reduce阶段聚合的SQL 167
6.4.3 高级分组聚合 169
6.5 带窗口/分析函数的SQL执行计划解读 172
6.6 表连接的SQL执行计划解读 175
6.6.1 Hive表连接的类型 175
6.6.2 内连接和外连接 176
6.6.3 左半连接 178
第7章 Hive数据处理模式 181
7.1 过滤模式 181
7.1.1 where子句过滤模式 182
7.1.2 having子句过滤 183
7.1.3 distinct子句过滤 184
7.1.4 表过滤 186
7.1.5 分区过滤 188
7.1.6 分桶过滤 189
7.1.7 索引过滤 191
7.1.8 列过滤 191
7.2 聚合模式 192
7.2.1 distinct模式 193
7.2.2 count(列)、count(*)、count(1)行计数聚合模式 194
7.2.3 可计算中间结果的聚合模式 197
7.2.4 不可计算中间结果的聚合模式 199
7.3 连接模式 200
7.3.1 普通Map连接 201
7.3.2 桶的Map连接和排序合并桶的Map连接 207
7.3.3 倾斜连接 209
7.3.4 表连接与基于成本的优化器 210
第8章 YARN日志 212
8.1 查看YARN日志的方式 212
8.1.1 ResourceManager Web UI界面 212
8.1.2 JobHistory Web UI界面 215
8.2 快速查看集群概况 216
8.2.1 Cluster Metrics集群度量指标 217
8.2.2 Cluster Node Metrics集群节点的度量信息 218
8.2.3 Cluster Overview集群概况 220
8.3 查看集群节点概况 221
8.3.1 节点列表概况 221
8.3.2 节点详细信息 223
8.3.3 节点作业信息 224
8.4 查看集群的队列调度情况 226
8.5 查看集群作业运行信息 230
8.5.1 集群作业运行状态 230
8.5.2 查看作业运行的基本信息 231
8.5.3 查看作业计数器 232
第9章 数据存储 236
9.1 文件存储格式之Apache ORC 236
9.1.1 ORC的结构 237
9.1.2 ORC的数据类型 238
9.1.3 ACID事务的支持 240
9.2 与ORC相关的Hive配置 241
9.2.1 表配置属性 241
9.2.2 Hive表的配置属性 241
9.3 文件存储格式之Apache Parquet 242
9.3.1 Parquet基本结构 243
9.3.2 Parquet的相关配置 245
9.4 数据归档 245
第10章 发现并优化Hive中的性能问题 247
10.1 监控Hive数据库的状态 247
10.2 监控当前集群状态 253
10.3 定位性能瓶颈 258
10.3.1 使用HS2 WebUI排除非大数据组件的问题 258
10.3.2 排查长时等待调度 260
10.3.3 Map任务读取小文件和大文件 261
10.3.4 Reduce的数据倾斜 262
10.3.5 缓慢的Shuffle 264
10.3.6 集群资源的限制 265
10.4 数据倾斜 266
10.4.1 不可拆分大文件引发的数据倾斜 266
10.4.2 业务无关的数据引发的数据倾斜 267
10.4.3 多维聚合计算数据膨胀引起的数据倾斜 268
10.4.4 无法削减中间结果的数据量引发的数据倾斜 268
10.4.5 两个Hive数据表连接时引发的数据倾斜 269
第11章 Hive知识体系总结 270
11.1 Hive知识体系 270
11.2 数据粒度 271
11.3 SQL相关 275
11.3.1 select查询语句 276
11.3.2 数据定义语言(DDL) 276
11.3.3 数据控制语言(DML) 279
11.3.4 用户自定义函数(UDF) 280
11.4 文件操作 281



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4