注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络数据库数据库设计/管理实时分析:流数据的分析与可视化技术

实时分析:流数据的分析与可视化技术

实时分析:流数据的分析与可视化技术

定 价:¥79.00

作 者: 拜伦·埃利斯
出版社: 机械工业出版社
丛编项:
标 签: 计算机/网络 数据仓库与数据挖掘 数据库

购买这本书可以去


ISBN: 9787111532163 出版时间: 2016-04-01 包装: 平装
开本: 128开 页数: 299 字数:  

内容简介

  本书共11章。第1章介绍常见的流数据的来源、应用以及三个重要特性:持续交付、结构松散和高基数,并阐释对流数据使用基础架构和算法的重要性。第2~6章介绍实时流架构的各组件涉及的软件、框架和方法。第2章概述实时流架构设计涉及的组件、特性、编程语言等。第3章介绍实时流架构的服务配置和协调,重点介绍协调服务器ZooKeeper。第4章阐述实时流架构中数据流程的管理,涉及用来管理数据流程的两个软件包Kafka和Flume。第5章分析流数据的处理,涉及如何用Storm或Samza来处理数据。第6章介绍流数据的存储问题。第7~11章重点关注流数据架构的应用构建问题。第7章讨论从流环境向最终用户的数据交付问题。这是构建仪表板以及其他监控应用所使用的核心机制。第8章涵盖流环境下的聚集计算问题,特别是对多分辨率时间序列数据的聚集计算问题。第9章简要介绍统计学和概率论的基础知识。第10章讨论略图,略图通常具有更快的更新速度和更小的内存占用空间,特别适合流环境。第11章讨论聚集计算之外能够应用于流数据的一些更深入的话题。

作者简介

  作 者 简 介Byron Ellis是Spongecell公司的CTO,该公司是一个总部位于纽约的广告技术公司,在旧金山、芝加哥和伦敦设有办事处。他负责公司的研发和计算基础设施的维护工作,在加盟Spongecell之前,他是在线交互技术“领头羊”企业Liveperson公司的首席数据科学家。他还在当时世界最大的广告交换公司之一adBrite担任过多项职务。他拥有哈佛大学统计学博士学位,攻读博士学位期间主要研究高吞吐量生物学实验数据中网络结构的学习方法。技术编辑简介JoseQuinteiro有20年技术经验,参与过许多终端用户、企业、Web软件系统和应用的设计与开发工作。他对于包括前后端的设计和实现在内的全套Web技术有着丰富经验。Jose在威廉玛丽学院获得化学学士学位。Luke Hornof拥有计算机科学博士学位,曾参与创建了多个成功的高科技初创企业。他在编程语言方面发表了十多篇同行评审的论文,曾为微处理器、广告和音乐行业开发过商用软件。他目前的兴趣之一是使用数据分析技术来改善Web和移动应用。Ben Peirce在Spongecell广告技术公司负责研究工作和基础设施的管理。加盟Spongecell之前,他在医疗健康技术初创企业担任过多项职务,他还是SETMedia公司的联合创始人之一,该公司是一个视频广告技术公司。他在哈佛大学工程与应用科学学院获得博士学位,研究方向是控制系统和机器人。

图书目录

目  录

译者序

前言

致谢

作者简介

技术编辑简介

第1章 流数据简介1

1.1流数据的来源2

1.1.1运行监控2

1.1.2Web分析2

1.1.3在线广告3

1.1.4社交媒体3

1.1.5移动数据和物联网4

1.2流数据的特别之处5

1.2.1始终在线,持续流动5

1.2.2松散结构5

1.2.3高基数的存储6

1.3基础架构和算法6

1.4总结7

第一部分 流分析架构

第2章 实时流架构设计10

2.1实时架构的组件10

2.1.1数据采集11

2.1.2数据流程11

2.1.3数据处理13

2.1.4数据存储13

2.1.5数据交付14

2.2实时架构的特性16

2.2.1高可用性16

2.2.2低延迟17

2.2.3水平可扩展性17

2.3实时编程语言18

2.3.1Java18

2.3.2Scala和Clojure19

2.3.3JavaScript19

2.3.4Go语言20

2.4实时架构概览20

2.4.1数据采集20

2.4.2数据流程21

2.4.3数据处理21

2.4.4数据存储21

2.4.5数据交付22

2.5总结22

第3章 服务配置和协调24

3.1 配置和协调系统的研发动机24

3.2 维护分布式状态25

3.2.1不可靠的网络连接25

3.2.2时钟同步25

3.2.3不可靠环境下的一致性25

3.3Apache ZooKeeper26

3.3.1znode27

3.3.2监视和通知28

3.3.3保持一致性28

3.3.4创建ZooKeeper集群28

3.3.5ZooKeeper本地Java客户端33

3.3.6Curator客户端39

3.3.7Curator Recipes组件45

3.4总结50

第4章 流分析中的数据流程管理52

4.1分布式数据流程52

4.1.1至少交付一次52

4.1.2“n+1”问题53

4.2Apache Kafka:高吞吐量分布式消息机制54

4.2.1设计与实现54

4.2.2配置Kafka环境57

4.2.3与Kafka代理交互65

4.3Apache Flume:分布式日志采集系统 66

4.3.1Flume agent67

4.3.2配置agent68

4.3.3Flume数据模型68

4.3.4channel选择器69

4.3.5Flume source71

4.3.6Flume sink78

4.3.7sink processor80

4.3.8Flume channel80

4.3.9Flume Interceptor81

4.3.10集成定制Flume组件83

4.3.11运行Flume agent83

4.4总结83

第5章 流数据的处理85

5.1分布式流数据处理85

5.1.1协调86

5.1.2分区和融合86

5.1.3事务86

5.2用Storm处理数据86

5.2.1Storm集群的组件87

5.2.2配置Storm集群88

5.2.3分布式集群89

5.2.4本地集群92

5.2.5Storm拓扑92

5.2.6实现bolt95

5.2.7实现并使用spout99

5.2.8分布式远程过程调用104

5.2.9Trident:Storm的DSL105

5.3用Samza处理数据111

5.3.1Apache YARN111

5.3.2从YARN和Samza开始112

5.3.3将Samza集成进数据流程115

5.3.4Samza作业116

5.4总结122

第6章 流数据的存储123

6.1一致性哈希123

6.2“NoSQL”存储系统124

6.2.1Redis125

6.2.2MongoDB132

6.2.3Cassandra150

6.3其他存储技术159

6.3.1关系数据库160

6.3.2分布式内存数据网格160

6.4存储技术的选择160

6.4.1键-值存储160

6.4.2文档存储160

6.4.3分布式哈希表存储161

6.4.4内存网格161

6.4.5关系数据库161

6.5数据仓库161

6.5.1将Hadoop作为ETL和数据仓库162

6.5.2Lambda架构166

6.6总结166

第二部分 流分析与可视化

第7章 流度量的交付168

7.1流Web应用168

7.1.1使用Node169

7.1.2用NPM管理Node项目171

7.1.3基于Node开发Web应用174

7.1.4 基本的流仪表板176

7.1.5 向Web应用加入流180

7.2 数据可视化190

7.2.1 HTML5 Canvas和内联SVG190

7.2.2 数据驱动文档:D3.js196

7.2.3 高层工具204

7.3 移动流应用208

7.4 总结209

第8章 精确的聚集计算和交付211

8.1 定时计数与求和214

8.1.1 基于Bolt的计数214

8.1.2 基于Trident的计数216

8.1.3 基于Samza的计数217

8.2 多分辨率时间序列的聚集计算218

8.3 随机优化222

8.4 时间序列数据的交付223

8.4.1 用D3.js绘制带状图224

8.4.2 高速Canvas图225

8.4.3 地平线图226

8.5 总结227

第9章 流数据的统计近似229

9.1 数值计算库229

9.2 概率和分布230

9.2.1 期望和方差231

9.2.2 统计分布232

9.2.3 离散分布232

9.2.4 连续分布233

9.2.5 联合分布235

9.3 参数估计236

9.3.1 参数推断236

9.3.2 Delta方法237

9.3.3 分布不等式238

9.4 随机数产生器238

9.5 抽样过程242

9.5.1 从固定数据集中抽样242

9.5.2 从流数据中抽样243

9.5.3 有偏流抽样244

9.6 总结245

第10章 使用略图近似流数据246

10.1 寄存器和哈希函数246

10.1.1 寄存器247

10.1.2 哈希函数247

10.2 集合249

10.3 Bloom Filter251

10.3.1 算法251

10.3.2 Bloom Filter大小的选择253

10.3.3 并集和交集253

10.3.4 基数估计254

10.3.5 有趣的变体255

10.4 Distinct Value略图258

10.4.1 Min-Count算法258

10.4.2 HyperLogLog算法260

10.5 Count-Min略图264

10.5.1 点查询265

10.5.2 Count-Min略图的实现265

10.5.3 Top-K和“Heavy Hitters”266

10.5.4 范围查询和分位数查询268

10.6 其他应用270

10.7 总结271

第11章 流数据的应用272

11.1 实时数据模型273

11.1.1 简单时间序列模型273

11.1.2 线性模型276

11.1.3 逻辑回归280

11.1.4 神经网络模型281

11.2 用模型预测289

11.2.1 指数平滑法289

11.2.2 回归法291

11.2.3 神经网络法293

11.3 监控294

11.3.1 离群点检测294

11.3.2 变化检测296

11.4 实时优化297

11.5 总结298  

本目录推荐