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

简介: 前  言 首先要感谢机械工业出版社华章公司的编辑们,在他们的大力支持下,我于2016年出版了《大数据架构商业之路:从业务需求到技术方案》一书,并获得了良好的销售额和口碑。不少读者主动和我联系,表示从书中学习到了如何使用大数据的知识,来制定合理的技术方案。


e5a58740e387f43b8e6bada7aa07ab27c2bf34d3

前  言

首先要感谢机械工业出版社华章公司的编辑们,在他们的大力支持下,我于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的线性回归分析

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
6月前
|
SQL 消息中间件 存储
从理论到实践,实时湖仓功能架构设计与落地实战
实时湖仓是「实时计算」和「数据湖」的一种结合应用场景,并不是具体指一个产品模块。本文主要介绍了平台通过相关功能的设计,让数据开发可以更简单更直观地了解 Flink Catalog、数据湖、流批一体等概念,并在实际业务场景中更方便地去落地实践。
114 0
|
存储 运维 负载均衡
【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式技术特别及问题分析
【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式技术特别及问题分析
188 0
【分布式技术专题】「架构实践于案例分析」总结和盘点目前常用分布式技术特别及问题分析
|
架构师 前端开发 流计算
阿里10年沉淀|那些技术实战中的架构设计方法
上周我写的一篇文章《关于技术能力的思考和总结》引起了大家的关注,好多读者的评论“以写代想、以想促真、以讲验真”,大家的感受很深刻,基于上次的文章,这篇文章我其实更想跟大家聊聊一些常用的思考方法,思考问题的方式对了,往往可以帮助大家少走弯路。
阿里10年沉淀|那些技术实战中的架构设计方法
|
存储 缓存 Java
高并发系统设计之道(一)- 方法论(上)
高并发系统设计之道(一)- 方法论(上)
105 0
|
运维
高并发系统设计之道(一)- 方法论(下)
高并发系统设计之道(一)- 方法论(下)
93 0
|
数据采集 SQL 机器学习/深度学习
大数据平台架构设计探究
本文介绍了一些数据平台设计思路来帮助业务减少数据开发中的痛点和难点。
4075 0
|
应用服务中间件 HSF 架构师
阿里毕玄:系统设计之解决核心问题的设计
作者结合cases来讲讲解决核心问题的设计这个环节,回顾自己的cases,犯了不少的错误,也碰到了非常多复杂的权衡选择的状况,才逐渐更加明白一个架构师应该具备的一些能力。
4990 0
|
Kubernetes 算法 大数据
2019年5月下旬最值得一读的9本技术书籍(微服务架构、算法、大数据等书籍)!
导读:读书,能让我们遇到好的书中好的方法、思想,不时的看看,就会让我们的头脑中思考的神经通路发达起来,慢慢地,我们就能够有了一些 积累,就会有了好的思维习惯。云栖社区小编为你整理出了2019年5月下旬最值得一读的9本技术书籍,其中涉及服务架构、算法、Flink等方面。
21068 0
|
SQL 分布式计算 大数据