内容简介
这是一个数据爆发的时代,更是一个数据技术爆发的时代,各行各业都在因此进行深刻的变革。如何从众多的数据技术中选择正确的工具、如何使用这些工具从海量数据中挖掘出有价值的东西,无疑是具有挑战性的问题。
本书作者结合自己在Google 大数据平台工作的丰富经验,阐述了数据技术的方方面面。从数据收集、共享到数据存储,从分布式数据平台、分析型数据库到数据可视化,从数据工作流构建到大规模数据分析,作者不仅进行了全面而深入的介绍,更覆盖了目前流行的各种数据技术与工具,同时对技术选型提出了指导性的建议。,作者对数据挑战的非技术因素进行了深刻的分析,并对数据技术的发展趋势进行了展望,引人深思。
目录
目录
第1 部分 大数据时代指引 1
第1 章 数据成功四原则 3
1.1 当数据成为一件“大”事 3
1.2 数据和单台服务器 4
1.3 大数据的权衡 5
1.3.1 构建可(无限)扩展的解决方案 6
1.3.2 构建可(在互联网上)共享数据的系统 7
1.3.3 构建解决方案,而非基础设施 8
1.3.4 关注从数据中解放价值 8
1.4 大数据流水线剖析 9
1.5 数据库 10
1.6 总结 10
第2 部分 收集和共享海量数据 13
第2 章 托管和共享TB 级原始数据 15
2.1 文件之殇 16
2.1.1 共享大量文件的挑战 16
2.2 存储:基础设施即服务 17
2.2.1 网络很慢 18
2.3 选择合适的数据格式 18
2.3.1 XML :数据,描述你自己 20
2.3.2 JSON :程序员的选择 21
2.4 字符编码 22
2.4.1 文件转换 24
XXII 目录
2.5 移动中的数据:数据序列化格式 25
2.5.1 Apache Thrift 和Protocol Buffers 26
2.6 总结 27
第3 章 构建基于NoSQL 的Web 应用采集众包数据 29
3.1 关系型数据库:命令及控制 30
3.1.1 关系数据库的ACID 测试 32
3.2 当关系型数据库遇上互联网 33
3.2.1 CAP 原理与base 34
3.3 非关系型数据库的模式 36
3.3.1 键- 值数据库 36
3.3.2 文档存储 38
3.4 为写入性能优化:Redis 40
3.5 在多个Redis 实例上分片 43
3.5.1 使用Twemproxy 自动分区 44
3.5.2 Redis 的替代选项 46
3.6 NewSQL :Codd 归来 46
3.7 总结 47
第4 章 解决数据孤岛问题的策略 49
4.1 堆满术语的仓库 49
4.1.1 实践中的问题 51
4.1.2 数据合规与安全规划 52
4.1.3 走进数据仓库 53
4.1.4 数据仓库的口诀:抽取、转换和加载 54
4.2 Hadoop :数据仓库中的大象 55
4.3 数据孤岛也可能是个优点 55
4.3.1 专注于数据问题,而不是技术 56
4.3.2 鼓励员工提出他们自己的问题 57
4.3.3 投资沟通数据孤岛的技术 57
4.4 融合:数据孤岛的终结 58
目录XXIII
4.4.1 Luhn 的商业智能系统是否能成为现实 59
4.5 总结 59
第3 部分 数据探究 61
第5 章 使用Hadoop、Hive 和Shark 探索大规模数据集 63
5.1 什么是数据仓库 64
5.2 Apache Hive :在Hadoop 上进行交互式查询 66
5.2.1 Hive 用例 66
5.2.2 Hive 实战 67
5.2.3 在Hive 中使用其他数据源 71
5.3 Shark :以内存的速度进行查询 72
5.4 云中的数据仓库 73
5.5 总结 74
第6 章 使用Google BigQuery 构建数据信息中心 77
6.1 分析型数据库 78
6.2 Dremel :均贫富 79
6.2.1 Dremel 与MapReduce 的不同之处 80
6.3 BigQuery :数据分析即服务 81
6.3.1 BigQuery 的查询语言 82
6.4 建造自己的大数据信息面板 83
6.4.1 授权访问BigQuery API 84
6.4.2 运行查询并获取结果 87
6.4.3 缓存查询结果 88
6.4.4 添加可视化图形 89
6.5 分析型查询引擎的未来 91
6.6 总结 91
第7 章 探索大数据的可视化策略 93
7.1 警世良言:将数据翻译成故事 94
7.2 人类尺度 VS 机器尺度 97
XXIV 目录
7.2.1 交互性 97
7.3 开发交互式数据应用 98
7.3.1 使用R 和ggplot2 实现交互式可视化 98
7.3.2 matplotlib: Python 的2D 图形库 100
7.3.3 D3.js :用于Web 的交互式可视化库 100
7.4 总结 104
第4 部分 构建数据流水线 107
第8 章 整合:MapReduce 数据流水线 109
8.1 数据流水线是什么 109
8.1.1 正确的工具 110
8.2 使用Hadoop Streaming 搭建数据流水线 111
8.2.1 MapReduce 和数据转换 111
8.2.2 单的流水线:
摘要与插图
序1《寻路大数据:海量数据与大规模分析》是一本系统化解读大数据工程处理基础技术的书籍。技术热潮已然催生了形形色色的大数据处理技术及工具,但重要的并非鱼与熊掌的孰优孰劣,而是如何选择或组合这些技术并应用于实现不同的商业目标。
本书正是从这个角度评估了针对不同使用场景的大数据处理技术,从而帮助技术负责人及架构师做出不同的选型决策。我很高兴看到了这本书的出版,它必将有益于大数据技术的各种具体实践。
刘子正
微博常务副总经理
序2
大数据这个概念,提出来已经有好几年了。在这几年中,作为一名数据工作者,我经常会参加各种大数据相关的讨论,也会有朋友和企业提出一些大数据相关的咨询需求。我感觉到,经过一波又一波的质疑和辩论,很多企业已经接受了大数据这个概念,认可大数据对于企业的重要性。眼前的问题,已经不是要不要开展大数据相关的工作,而是如何开展大数据工作。
企业需要将大数据的概念、技术、能力和企业自身的数据充分结合,来切实地提升企业的业务能力。实现这个目标要解决的一个问题是,大数据技术的发展太快、太新,能够对大数据整体技术有了解的人很少。各类技术适合处理什么样的数据?适合解决什么样的问题?如何进行技术选型?这些问题对于实操规划企业整体大数据发展的人重要,他们迫切需要介于宏观的概念和细节的技术之间,对于规划和选型立刻就能够产生帮助的资源。
几周之前,我有幸提前阅读到本书的部分章节,很高兴地发现,这本书所提供的,正好是这种立刻能够产生帮助的信息,可以更好地帮助大家规划和设计与企业业务密切结合的大数据应用,而作者丰富的经验和对于大数据的深刻理解,也可以提高我们对于大数据的认知,避免在大数据的应用中走弯路,值得仔细阅读。
廖若雪
高德公司 大数据与移动技术中心副总裁
前百度主任架构师,百度公司技术委员会
序3
中国改革开放的总设计师曾经说:“不管黑猫白猫,能抓住老鼠就是好猫”,针对大数据技术我想也是如此。我们曾经花费了很多时间讨论什么是大数据,多大才是大数据,而忽略了如何利用大数据技术来创造真正的价值。
随着云计算、智能设备、物联网的快速发展,以后每一个公司都会有大量的数据。而现在要的,我认为是快速学习大数据的思维、技术和方法解决工作中的实际问题,并对公司的决策提供支撑,对业务的发展提出建议。这才是大数据的真正价值。
正如本书中提到的“Data processing as a service”,从国内外的发展趋势来看,大数据和云计算的结合越来越紧密,各大云计算运营商都陆续推出大数据处理平台的产品,让每个企业的数据人员能够方便地应用大数据技术,从而专注于业务流程和数据本身,不被大数据基础架构的建设和维护成本所约束,从而快速地发挥大数据的价值。
国庆节前杨毅邀请我为本书作序,杨毅是具有丰富的实战经验和对于大数据有深刻理解的业内人士,本书内容也一样稳重而务实。不纠结于大数据名词的定义,而关注于:如何利用各种技术进行大数据处理,如何在各种应用场景下利用大数据产生价值,如何根据企业自身的实际情况选择合适的架构方案和技术解决实际问题,提升企业竞争力。这对于企业的技术负责人、大数据技术人员是有价值的。我认为每一个相信、追求并使用大数据的朋友都会和我一样,通过本书加深对大数据的理解,提高对大数据的把握能力,从而为业务创造更大的价值。
大数据,大价值!
季昕华
UCloud 创始人& CEO
前盛大云CEO,盛大在线席安全官
译者序
大数据概念方兴未艾,大数据技术正在蓬勃发展,市场上商用的、开源的数据