离线和实时大数据开发实战

离线和实时大数据开发实战

目 录

前言

第一篇 数据大图和数据平台大图

第1章 数据大图 2

1.1 数据流程 2

1.1.1 数据产生 3

1.1.2 数据采集和传输 5

1.1.3 数据存储处理 6

1.1.4 数据应用 7

1.2 数据技术 8

1.2.1 数据采集传输主要技术 9

1.2.2 数据处理主要技术 10

1.2.3 数据存储主要技术 12

1.2.4 数据应用主要技术 13

1.3 数据相关从业者和角色 14

1.3.1 数据平台开发、运维工程师 14

1.3.2 数据开发、运维工程师 15

1.3.3 数据分析工程师 15

1.3.4 算法工程师 16

1.3.5 业务人员 16

1.4 本章小结 17

第2章 数据平台大图 18

2.1 离线数据平台的架构、技术和设计 19

2.1.1 离线数据平台的整体架构 19

2.1.2 数据仓库技术 20

2.1.3 数据仓库建模技术 23

2.1.4 数据仓库逻辑架构设计 26

2.2 实时数据平台的架构、技术和设计 27

2.2.1 实时数据平台的整体架构 28

2.2.2 流计算技术 29

2.2.3 主要流计算开源框架 29

2.3 数据管理 32

2.3.1 数据探查 32

2.3.2 数据集成 33

2.3.3 数据质量 33

2.3.4 数据屏蔽 34

2.4 本章小结 35

第二篇 离线数据开发:大数据开发的主战场

第3章 Hadoop原理实践 38

3.1 开启大数据时代的Hadoop 38

3.2 HDFS和MapReduce优缺点分析 40

3.2.1 HDFS 41

3.2.2 MapReduce 42

3.3 HDFS和MapReduce基本架构 43

3.4 MapReduce内部原理实践 46

3.4.1 MapReduce逻辑开发 46

3.4.2 MapReduce任务提交详解 47

3.4.3 MapReduce内部执行原理详解 48

3.5 本章小结 52

第4章 Hive原理实践 53

4.1 离线大数据处理的主要技术:Hive 53

4.1.1 Hive出现背景 53

4.1.2 Hive基本架构 55

4.2 Hive SQL 56

4.2.1 Hive 关键概念 57

4.2.2 Hive 数据库 59

4.2.3 Hive 表DDL 60

4.2.4 Hive表DML 63

4.3 Hive SQL执行原理图解 65

4.3.1 select 语句执行图解 66

4.3.2 group by语句执行图解 67

4.3.3 join语句执行图解 69

4.4 Hive函数 73

4.5 其他SQL on Hadoop技术 74

4.6 本章小结 76

第5章 Hive优化实践 77

5.1 离线数据处理的主要挑战:数据倾斜 77

5.2 Hive优化 79

5.3 join无关的优化 79

5.3.1 group by引起的倾斜优化 79

5.3.2 count distinct优化 80

5.4 大表join小表优化 80

5.5 大表join大表优化 82

5.5.1 问题场景 82

5.5.2 方案1:转化为mapjoin 83

5.5.3 方案2:join时用case when语句 84

5.5.4 方案3:倍数B表,再取模join 84

5.5.5 方案4:动态一分为二 87

5.6 本章小结 89

第6章 维度建模技术实践 90

6.1 大数据建模的主要技术:维度建模 90

6.1.1 维度建模关键概念 91

6.1.2 维度建模一般过程 95

6.2 维度表设计 96

6.2.1 维度变化 96

6.2.2 维度层次 99

6.2.3 维度一致性 100

6.2.4 维度整合和拆分 101

6.2.5 维度其他 102

6.3 深入事实表 104

6.3.1 事务事实表 104

6.3.2 快照事实表 106

6.3.3 累计快照事实表 107

6.3.4 无事实的事实表 108

6.3.5 汇总的事实表 108

6.4 大数据的维度建模实践 109

6.4.1 事实表 109

6.4.2 维度表 110

6.5 本章小结 110

第7章 Hadoop数据仓库开发实战 111

7.1 业务需求 112

7.2 Hadoop数据仓库架构设计 113

7.3 Hadoop数据仓库规范设计 114

7.3.1 命名规范 115

7.3.2 开发规范 115

7.3.3 流程规范 116

7.4 FutureRetailer数据仓库构建实践 118

7.4.1 商品维度表 118

7.4.2 销售事实表 120

7.5 数据平台新架构——数据湖 121

7.6 本章小结 123

第三篇 实时数据开发:大数据开发的未来

第8章 Storm流计算开发 127

8.1 流计算技术的鼻祖:Storm技术 128

8.1.1 Storm基本架构 129

8.1.2 Storm关键概念 130

8.1.3 Storm并发 132

8.1.4 Storm核心类和接口 133

8.2 Storm实时开发示例 133

8.2.1 语句生成spout 134

8.2.2 语句分割bolt 135

8.2.3 单词计数bolt 136

8.2.4 上报bolt 136

8.2.5 单词计数topology 137

8.2.6 单词计数并发配置 139

8.3 Storm高级原语Trident 142

8.3.1 Trident引入背景 142

8.3.2 Trident基本思路 142

8.3.3 Trident流操作 143

8.3.4 Trident的实时开发实例 145

8.4 Storm关键技术 147

8.4.1 spout的可靠性 147

8.4.2 bolt的可靠性 148

8.4.3 Storm反压机制 149

8.5 本章小结 150

第9章 Spark Streaming流计算开发 151

9.1 Spark生态和核心概念 151

9.1.1 Spark概览 151

9.1.2 Spark核心概念 153

9.1.3 Spark生态圈 157

9.2 Spark生态的流计算技术:Spark Streaming 158

9.2.1 Spark Streaming基本原理 159

9.2.2 Spark Streaming核心API 159

9.3 Spark Streaming的实时开发示例 161

9.4 Spark Streaming调优实践 162

9.5 Spark Streaming关键技术 164

9.5.1 Spark Streaming可靠性语义 164

9.5.2 Spark Streaming反压机制 165

9.6 本章小结 166

第10章 Flink流计算开发 167

10.1 流计算技术新贵:Flink 167

10.1.1 Flink技术栈 168

10.1.2 Flink关键概念和基本原理 169

10.2 Flink API 172

10.2.1 API概览 172

10.2.2 DataStream API 173

10.3 Flink实时开发示例 180

10.4 Flink关键技术详解 182

10.4.1 容错机制 182

10.4.2 水位线 184

10.4.3 窗口机制 185

10.4.4 撤回 187

10.4.5 反压机制 187

10.5 本章小结 188

第11章 Beam技术 189

11.1 意图一统流计算的Beam 190

11.1.1 Beam的产生背景 190

11.1.2 Beam技术 191

11.2 Beam技术核心:Beam Model 193

11.3 Beam SDK 196

11.3.1 关键概念 196

11.3.2 Beam SDK 197

11.4 Beam窗口详解 202

11.4.1 窗口基础 202

11.4.2 水位线与延迟数据 203

11.4.3 触发器 204

11.5 本章小结 205

第12章 Stream SQL实时开发实战 206

12.1 流计算SQL原理和架构 207

12.2 流计算SQL:未来主要的实时开发技术 208

12.3 Stream SQL 209

12.3.1 Stream SQL源表 209

12.3.2 Stream SQL结果表 209

12.3.3 Stream SQL维度表 210

12.3.4 Stream SQL临时表 211

12.3.5 Stream SQL DML 211

12.4 Stream SQL的实时开发实战 212

12.4.1 select操作 212

12.4.2 join操作 214

12.4.3 聚合操作 218

12.5 撤回机制 221

12.6 本章小结 222

参考文献 224

221

原文地址:https://www.cnblogs.com/qianshuixianyu/p/10099854.html

时间: 2024-11-07 14:23:36

离线和实时大数据开发实战的相关文章

大数据开发实战:Hive优化实战3-大表join大表优化

5.大表join大表优化 如果Hive优化实战2中mapjoin中小表dim_seller很大呢?比如超过了1GB大小?这种就是大表join大表的问题.首先引入一个具体的问题场景,然后基于此介绍各自优化方案. 5.1.问题场景 问题场景如下: A表为一个汇总表,汇总的是卖家买家最近N天交易汇总信息,即对于每个卖家最近N天,其每个买家共成交了多少单,总金额是多少,假设N取90天,汇总值仅取成交单数.A表的字段有:buyer_id. seller_id.pay_cnt_90day. B表为卖家基本信

大数据开发实战:数据流图及相关数据技术

1.大数据流程图 2.大数据各个环节主要技术 2.1.数据处理主要技术 Sqoop:(发音:skup)作为一款开源的离线数据传输工具,主要用于Hadoop(Hive) 与传统数据库(MySql,PostgreSQL)间的数据传递.它可以将一个关系数据库中数据导入Hadoop的HDFS中, 也可以将HDFS中的数据导入关系型数据库中. Flume:实时数据采集的一个开源框架,它是Cloudera提供的一个高可用用的.高可靠.分布式的海量日志采集.聚合和传输的系统.目前已经是Apache的顶级子项目

大数据开发实战系列之电信客服(1)

大数据实战开发系列,以实战为主,辅以一些基础知识,关于电信客服,在网上也有很多的资料,这里我自然会去参考网上的资料,程序的整体设计是在今天开始的,老夫尽量在本周末钱结束这个电信客服的程序编写.因为我也是一个学习者,所以在程序编写过程中难免会存在问题,有问题还请大家指出,有则改之,无则加勉.大家共同进步.本教程适合接触大数据开发不久或者还没接触大数据开发,或者小萌新.老鸟就多提意见吧,我改. 博客原文地址:大数据开发实战系列之电信客服(1) 项目背景 关于项目背景,我就照搬网上的了.通信运营商每时

程序员入门必备的大数据开发实战系列丛书

想要入行大数据却不知从哪里开始?作为入行十年的码农为大家推荐一套"一站式实战型大数据应用开发学习指导"丛书,帮助读者踏上由开发入门到大数据实战的"互联网+大数据"开发之旅! 此套丛书以实用性.案例丰富见长.由国内知名的IT教育机构课工场创始人肖睿主编,人民邮电出版社出版.编撰此书时为满足企业对人才的技能需求,课工场大数据开发教研团队,通过对数百位BAT一线技术专家进行访谈.上千家企业人力资源情况进行调研.上万上企业招聘岗位进行需求分析,在此基础上,整合了大量案例说明

大数据开发实战:Stream SQL实时开发

1.流计算SQL原理和架构 流计算SQL通常是一个类SQL的声明式语言,主要用于对流式数据(Streams)的持续性查询,目的是在常见流计算平台和框架(如Storm.Spark Streaming.Flink.Beam等)的底层API上, 通过使用简易通用的的SQL语言构建SQL抽象层,降低实时开发的门槛. 流计算SQL的原理其实很简单,就是在SQL和底层的流计算引擎之间架起一座桥梁---流计算SQL被用户提交,被SQL引擎层翻译为底层的API并在底层的流计算引擎上执行.比如对Storm 来说,

大数据开发实战:维度建模1-相关概念

1.维度建模相关概念 1.1.度量和环境 维度建模支持对因为过程的支持,这是通过对业务过程度量进行建模来实现的. 那么,什么是度量呢?实际上,通过和业务方.需求方交谈.或者阅读报表.图表等,可以很容易地识别度量. 考虑如下因为需求: a.店铺上个月的销售额如何? b.店铺库存趋势如何? c.店铺的访问情况如何(pv page view 访问量, 即页面浏览量或点击量,衡量网站用户访问的网页数量:在一定统计周期内用户每打开或刷新一个页面就记录1次,多次打开或刷新同一页面则浏览量累计. uv: Un

Spark 2.x企业级大数据项目实战(实时统计、离线分析和实时ETL)

Spark 2.x企业级大数据项目实战(实时统计.离线分析和实时ETL)全套课程下载:https://pan.baidu.com/s/1mje6bAoLLPrxUIrM-C2VMg 提取码: 9n1x 本门课程来源于一线生产项目, 所有代码都是在现网大数据集群上稳定运行, 拒绝Demo.课程涵盖了离线分析.实时分析绝大部分的场景,通过三个实际生产项目教授如何优雅地集成Hadoop.Spark.HBase.Kafka.Redis.MySQL等相关大数据技术,并实际落地 . 本门课程全程实操,不用担

Spark2.0从入门到精通:Scala编程、大数据开发、上百个实战案例、内核源码深度剖析视频教程

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

大数据(实战型)数据分析专家、首席分析师高级视频教程

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv