前 言
为什么要写这本书
我接触大数据技术的时间算是比较早的,四五年前当大数据这个词火遍互联网的时候,我就已经在实验室里学习编程及算法的知识。那个时候我一心想要做学术,每天阅读大量的英文文献,主要兴趣更多的是在机器人和人工智能上。研究生毕业时我本来想实现早先的愿望,继续攻读博士学位,不过思来想去觉得不应该错过大数据这个机会,所以毅然决定投入大数据行业中。
在工作之初,市面上已经存在一些介绍大数据相关技术的权威著作,其中很多还是很底层的或特定领域的专著。但即使是我这种自诩为“学院派”的人看这些书,头脑也会经常开小差。而大数据相关的技术又特别庞杂,包括计算框架、网络爬虫、机器学习算法、编程语言、数据库、文本分析、数据流水线的架构,甚至还包括前端可视化等众多方面,只有对它们都有涉猎,才能更好地胜任相关的工作。所以我读过很多的相关图书,这确实为我以后的工作打下了坚实的基础,不过随着工作内容的增加,以及新同事的到来,更多的问题相继涌现。首当其冲的就是,并不是每个人都有足够的基础来阅读这些专业著作,而且每个人的情况各不相同,有的是编程基础差,有的是数学基础差,有的是英语基础差,这也导致我的这套学习方法难以推广开来。所以我想写一本关于大数据技术的手册,其目的并不是为读者讲明白所有技术背后的原理,而是告诉读者某项技术可以用于哪些工作中,哪些工作需要哪些工具。
读完这本手册,可以帮助读者建立一个相对完整的大数据生态的概念,其中所讲的每一个工具都值得读者进行更深入的研究(你也可以像我一样,对其中的两三项进行非常深入的研究),也许在研究过程中,你会成为该领域的专家。如果现在正在看这本书的你是一位技术决策者,那么我希望本书的介绍能帮助你下定决心使用其中的某项技术,比如写作全书的Python语言就是一门非常好的数据处理语言,它能快速编码,且具有强大的字符串处理能力,拥有大量成熟的大数据类库,这些都使Python成为数据科学领域无可争议的No. 1语言;或许你的团队可以仅用Python编写大规模分布式爬虫程序(虽然本书介绍的是单机的简化版)就能大幅度地提升工作的效率。Scrapy可能是爬虫领域最有名的框架了,你也可以像我一样实现属于你自己的版本。当然这本书也是一本Python入门书,所以读者无须担心阅读门槛,你可以从零基础开始学习,并体验整个学习过程所带来的愉悦。
目 录
[第0章 发现、出发
0.1 何谓数据科学 ](https://yq.aliyun.com/articles/119372/)
0.1.1 海量的数据与科学的方法
0.1.2 数据科学并不是新概念
0.1.3 数据科学是一个系统工程
0.2 如何成为数据科学家
0.3 为什么是Python
0.4 一个简单的例子
[第1章 Python介绍
1.1 Python的版本之争 ](https://yq.aliyun.com/articles/119389/)
1.2 Python解释器
1.2.1 Mac OS X系统
1.2.2 Linux系统
1.2.3 Windows系统
1.3 第一段Python程序
1.4 使用Python shell调试程序
[第2章 Python基础知识
2.1 应当掌握的基础知识 ](https://yq.aliyun.com/articles/119418/)
2.1.1 基础数据类型
2.1.2 变量和赋值
2.1.3 操作符及表达式
2.1.4 文本编辑器
2.2 字符串
2.3 获取键盘输入
2.4 流程控制
2.4.1 条件判断
2.4.2 循环
2.4.3 缩进、空白和注释