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

实时分析:流数据的分析与可视化技术
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] ,
2016-04
版次: 1
ISBN: 9787111532163
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 299页
字数: 400千字
29人买过
  •   本书共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
  • 内容简介:
      本书共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
查看详情
系列丛书 / 更多
实时分析:流数据的分析与可视化技术
大数据导论
彭智勇 译
实时分析:流数据的分析与可视化技术
统计学习导论 基于R应用
[美]加雷斯·詹姆斯、丹妮拉·威滕、特雷弗·哈斯帖 著;王星 译
实时分析:流数据的分析与可视化技术
大数据分析原理与实践
王宏志 著
实时分析:流数据的分析与可视化技术
Python机器学习
高明、徐莹、陶虎成 译
实时分析:流数据的分析与可视化技术
机器学习与R语言(原书第2版)
李洪成、许金炜、李舰 译
实时分析:流数据的分析与可视化技术
Python机器学习(原书第2版)
瓦希德·米 著;塞巴斯蒂安·拉施卡(Sebastian Raschka)、陈斌 译
实时分析:流数据的分析与可视化技术
基于R语言的自动数据收集:网络抓取和文本挖掘实用指南
[德]西蒙·蒙策尔特 著;吴今朝 译
实时分析:流数据的分析与可视化技术
机器学习与R语言
[美]Brett Lantz 著;李洪成、许金炜、李舰 译
实时分析:流数据的分析与可视化技术
基于MPI的大数据高性能计算导论
弗兰克·尼尔森(Frank Nielsen) 著;张伟哲 译
实时分析:流数据的分析与可视化技术
Python金融数据分析
Weiming 著;杰姆斯·马伟明(James、Ma、高明 译
实时分析:流数据的分析与可视化技术
统计机器学习导论
[日]杉山将 著;谢宁 译
实时分析:流数据的分析与可视化技术
Python文本分析
[印度]迪潘简·撒卡尔 著;闫龙川 高德荃 李君婷 译
相关图书 / 更多
实时分析:流数据的分析与可视化技术
实时耦联动力试验的大规模数值模拟研究与应用(清华大学优秀博士学位论文丛书)
朱飞 著
实时分析:流数据的分析与可视化技术
实时嵌入式系统
[美]王加存 著;樊卫华 译
实时分析:流数据的分析与可视化技术
实时系统设计与分析
(美)菲利普·A.拉普朗特
实时分析:流数据的分析与可视化技术
实时数据处理技术
卜令瑞 陈永 孙志敏
实时分析:流数据的分析与可视化技术
实时语音处理实践指南
葛世超
实时分析:流数据的分析与可视化技术
实时数字信号处理(从MATLAB到C)——基于TMS320C6xDSP(第3版)
Thad B. Walch、Cameron H.G. Wright、Michael G. Morr 著
实时分析:流数据的分析与可视化技术
实时风险:量化投资者必须了解的金融科技、高频交易与大盘闪崩
[美]艾琳·奥尔德里奇(Irene Aldridge) 著;熊振华 译
实时分析:流数据的分析与可视化技术
实时嵌入式系统设计方法
李曦;陈香兰;王超;周学海
实时分析:流数据的分析与可视化技术
实时混合试验综合补偿方法理论与实践
刘洁
实时分析:流数据的分析与可视化技术
实时数据处理和分析指南
Gupta 著;[印度]希尔皮·萨克塞纳(Shilpi Saxena)、[印度]沙鲁巴·古普塔、Saurabh、吴志国、曾凤姝 译
实时分析:流数据的分析与可视化技术
实时战略:人工智能助力战略规划
[德]安德里亚斯.舒利;[德]弗兰克.贝克尔;[德]弗洛莱恩.克莱因
实时分析:流数据的分析与可视化技术
实时流计算系统设计与实现
周爽 著
您可能感兴趣 / 更多
实时分析:流数据的分析与可视化技术
归属感:如何通过社群获得商业竞争优势
[美]大卫·斯平克斯(David Spinks) 著;颉腾文化 出品
实时分析:流数据的分析与可视化技术
《世界上最大的肚子》2024百班千人暑期书目学前中班名师推荐全新正版现货速发
[美]雷米·查利普(美)柏顿·萨普瑞
实时分析:流数据的分析与可视化技术
经济学通义
[美]阿门·A.阿尔钦 (美)威廉·R.艾伦 著;[美]杰里·L.乔丹 编
实时分析:流数据的分析与可视化技术
数字化领导力 数字化转型锦囊,领导力精进指南 一本书掌握数字化转型领导力之道
[美]艾萨克·萨科里克 著;王磊 译;颉腾文化 出品;邓斌
实时分析:流数据的分析与可视化技术
法哲学基本原理
[美]马克·C.墨菲
实时分析:流数据的分析与可视化技术
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
实时分析:流数据的分析与可视化技术
杜甫传
[美]弗洛伦斯.艾思柯
实时分析:流数据的分析与可视化技术
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
实时分析:流数据的分析与可视化技术
美利坚在燃烧:20世纪60年代以来的警察暴力与黑人反抗
[美]伊丽莎白·欣顿 著 胡位钧 译
实时分析:流数据的分析与可视化技术
温柔亲启
[美]艾米莉·狄金森 著;[美]艾伦·路易斯·哈特、[美]玛莎·内尔·史密斯 编
实时分析:流数据的分析与可视化技术
儒教中国及其现代命运(三部曲)
[美]列文森 作者;[中]季剑青 译者
实时分析:流数据的分析与可视化技术
逃家小兔成长绘本系列
[美]玛格丽特.怀兹.布朗