《大数据架构和算法实现之路:电商系统的技术实战》——导读

时间:2024-03-15 16:58:55


《大数据架构和算法实现之路:电商系统的技术实战》——导读

前  言

首先要感谢机械工业出版社华章公司的编辑们,在他们的大力支持下,我于2016年出版了《大数据架构商业之路:从业务需求到技术方案》一书,并获得了良好的销售额和口碑。不少读者主动和我联系,表示从书中学习到了如何使用大数据的知识,来制定合理的技术方案。能够让读者从书中获益,我也感到非常欣慰。与此同时,也有部分读者表示对于技术的细节很感兴趣,对此书未能包含实现部分深感遗憾。对此,我一直在犹豫是否需要重新写一版,包含更多的实战内容。因为《大数据架构商业之路:从业务需求到技术方案》一书的定位是最大程度地弥补业务需求和技术方案之间的空白,针对的读者主要是互联网公司的技术管理人员、产品经理、初级的架构师等。如果直接加入过多的技术细节,可能会导致该书的定位不清,让读者难以获得最佳的阅读体验。

与本书的策划编辑杨老师再三讨论之后,我决定不在原书中加入更多的实现部分,而是重新撰写一本兄弟篇。这本全新的书,仍然会沿用前作的故事背景和应用场景,不过读者对象改为资深的程序员、算法工程师、数据科学家和系统架构师。因此,新作将大幅缩减基础知识的详细介绍以及业务需求的逐步分析,而是直接进入实战的主题,包括系统架构、算法设计,甚至是重要的代码部分。当然,我也不希望该书全由代码堆砌而成,因此主要针对核心代码进行了讲解。全部的实例代码会以其他形式来提供。

虽然定位有所不同,但是我仍然希望保持前作深入浅出的特点。

易读易懂。黄小明和杨大宝的创业故事在稍作修改的基础之上得以保留,继续使用生动的案例和形象的比喻来解读难点,降低理解的门槛。

可实践性强。本书选取了电子商务的平台,通过分享大量实践才能积累的宝贵经验和重点代码,最大程度地弥补业务需求和技术方案之间的空白。与此同时,针对频繁升级的开源软件,我也采用了2016年年底到2017年年初最新的版本。因此,部分代码甚至可作为中小公司创业起步的参考模板。这有利于技术人员针对不同的业务需求,规划更为合理的技术方案。

最后,我们衷心希望本书成为相关领域技术专家的良师益友,大家在阅读之后,对电商大数据的实践能有更加深入的理解,并对自己所从事的项目有所裨益。

读者对象

根据本书撰写的起心动念,我们觉得其内容适合如下的读者。

大数据相关领域的程序开发者和技术骨干。从本书中,他们可以看到常见的互联网公司从创业初期到中期,应该怎样设计数据平台、如何解决技术上的难题,才能最终满足业务需求。

中小互联网创业公司的数据科学家或者算法工程师。算法是数据平台的一个关键因素。最近几年,人工智能、机器学习乃至深度学习都是学术界和工业界的一大热点,而数据科学家也成为受人追捧的职业。合理地运用智能算法将从很大程度上节约重复劳动的成本,提高效率和转化率,最终增加商业的价值。

架构工程师。架构是数据平台的另一个关键因素,很多刚刚从院校毕业、工作没多久的朋友,学了一身的本领,对新技术也很有热情,可惜没有太多实践的机会。本书中的案例,浓缩了不少业界实践的经验和心得,如能融会贯通,对他们的工作将有很大帮助。同时,覆盖面较广的技术课题概述,也为他们继续深入研究提供了方向和可能。

总之,本书适合钻研实现细节的程序员、工程师和算法专家。和前作的侧重点有所不同,本书并不适合作为入门教程使用。因此建议没有相关基础知识的读者,读完前作之后再来阅读此书。

如何阅读本书

本书介绍了一些主流技术在商业项目中的应用,包括机器学习中的分类、聚类和线性回归,搜索引擎,推荐系统,用户行为跟踪,架构设计的基本理念及常用的消息和缓存机制。在这个过程中,我们有机会实践R、Mahout、Solr、Elasticsearch、Hadoop、HBase、Hive、Flume、Kafka、Storm等系统。如前所述,本书最大的特色就是,从商业需求出发演变到合理的技术方案和实现,因此根据不同的应用场景、不同的数据集合、不同的进阶难度,我们为读者提供了反复温习和加深印象的机会。

致谢

首先要感谢上海交通大学和俞勇教授,你们给予我不断学习的机会,带领我进入了大数据的世界。同时,感谢阿里云的高级总监薛贵荣,你的指导让我树立了良好的科研态度。

还要感谢微软亚洲研究院、eBay中国研发中心、沃尔玛1号店、大润发飞牛网和IBM中国研发中心,在这些公司十多年的实战经验让我收获颇丰,也为本书的铸就打下了坚实的基础。

感谢曾经的微软战友陈正、孙建涛、Ling Bao、曾华军、张本宇、沈抖、刘宁、严峻、曹云波、王琼华、康亚滨、胡健、季蕾等,eBay的战友逄伟、王强、王骁、沈丹、Yongzheng Zhang、Catherine Baudin、Alvaro Bolivar、Xiaodi Zhang、吴晓元、周洋、胡文彦、宋荣、刘文、Lily Yu等,沃尔玛1号店的战友韩军、王欣磊、胡茂华、付艳超、张旭强、黄哲铿、沙燕霖、郭占星、聂巍、邵汉成、张珺、胡毅、邱仔松、孙灵飞、凌昱、王善良、廖川、杨平、余迁、周航、吴敏、李峰,熊健等,大润发飞牛网的战友王俊杰、陈俞安、蔡伯璟、陈慧文、夏吉吉、文燕军、杨立生、张飞、代伟、陈静、赵瑜、李航等,IBM的战友李伟、谢欣、周健、马坚、刘钧、唐显莉等。要感谢的同仁太多,如有遗漏敬请谅解,很怀念和你们并肩作战的日子,那段时间让我学习到了很多。

感谢机械工业出版社华章公司的编辑杨绣国(Lisa)老师,感谢你的魄力和远见,在最近的3个月中始终支持我的写作,你的鼓励和帮助引导我顺利完成了全部书稿。也要感谢凌云为我引荐了如此优秀的出版社和编辑。
衷心感谢源码资本合伙人、前金山软件CEO、前微软亚太研发集团CTO张宏江先生,非常荣幸他能在百忙之中抽空为本书作序。也衷心感谢Apache Kylin联合创建者及CEO韩卿先生,饿了么CTO张雪峰先生、 CloudBrain的创始人张本宇先生为本书撰写推荐语。

还要感谢我和太太双方的父母,感谢你们对我写书的理解和支持。

最后我一定要谢谢我的太太Stephanie和宝贝儿子Polaris,为了此书我周末陪伴你们的时间更少了。你们不但没有怨言,而且时时刻刻为我灌输着信心和力量,感谢你们!

谨以此书,献给我最亲爱的家人,以及众多热爱大数据的朋友们。

黄 申

美国,硅谷,2017年3月

目  录

[第一篇 支持高效的运营
第1章 方案设计和技术选型:分类
1.1 分类的基本概念 ](https://yq.aliyun.com/articles/109180/)
1.2 分类任务的处理流程
1.3 算法:朴素贝叶斯和K最近邻
1.3.1 朴素贝叶斯
1.3.2 K最近邻
1.4 分类效果评估
1.5 相关软件:R和Mahout
1.5.1 R简介
1.5.2 Mahout简介
1.5.3 Hadoop简介
1.6 案例实践
1.6.1 实验环境设置
1.6.2 中文分词
1.6.3 使用R进行朴素贝叶斯分类
1.6.4 使用R进行K最近邻分类
1.6.5 单机环境使用Mahout运行朴素贝叶斯分类
1.6.6 多机环境使用Mahout运行朴素贝叶斯分类
1.7 更多的思考
[第2章 方案设计和技术选型:聚类
2.1 聚类的基本概念 ](https://yq.aliyun.com/articles/109211/)
2.2 算法:K均值和层次型聚类
2.2.1 K均值聚类
2.2.2 层次型聚类
2.3 聚类的效果评估
2.4 案例实践
2.4.1 使用R进行K均值聚类
2.4.2 使用Mahout进行K均值聚类
[第3章 方案设计和技术选型:因变量连续的回归分析
3.1 线性回归的基本概念 ](https://yq.aliyun.com/articles/109228/)
3.2 案例实践
3.2.1 实验环境设置
3.2.2 R中数据的标准化
3.2.3 使用R的线性回归分析