京东作为一家业内领先的互联网科技公司,完整的产业链条带来了价值可沽的海量大数据,丰富的业务场景也为技术发展提供了最佳创新土壤。从认知、探索到今天京东技术上的百花齐放,我们经历了最为艰苦的创新和付出。业务的复杂与多元化,数据的飞速增长,给我们带来了很多棘手问题,但也使得大数据平台拥有更强大的能力,形成了一套完整的技术体系和有效的数据管理方法,并在实践中得以验证和夯实。
京东大数据平台作为京东集团的数据中台,支撑了京东无界零售的数据运营和创新。《京东大数据技术白皮书》总结了大数据技术在京东的落地和成长,分享了大数据技术体系和管理架构,阐述了大数据在京东的典型业务应用场景,并对大数据的技术方向进行了展望,是一次对京东大数据平台的最全面解读,希望我们的实践和思考能给同行以启发和参考,我们期待和业界一起推动国内大数据产业的进步和发展。

注脚

展开查看详情

1.京东大数据技术白皮书 京东大数据平台部出品

2.顾问: 张晨 裴健 翁志 主要作者(排名不分先后): 赵国梁、刘荣明、李冬峰、冯玉敏、滕永铮、王哲涵 王永亮、王文生、李双义、刘业辉、白贤锋、王威 焦文健、张晓鑫、赵鹏、纪鸿焘、乔超、吴怡然 欢迎关注京东大数据微信公众号及京东技术公众号

3. 京东大数据技术白皮书 目 录 序言 ..................................................................................................................... 3 前言 ..................................................................................................................... 5 1 京东大数据的发展历程 ................................................................................. 8 2 京东大数据的技术体系 ................................................................................10 2.1 数据采集和预处理 ..............................................................................10 2.2 流量数据采集 .....................................................................................13 2.3 数据存储体系 .....................................................................................22 2.4 离线计算环境 .....................................................................................34 2.5 实时计算环境 .....................................................................................37 2.6 机器学习环境 .....................................................................................40 2.7 任务管理和调度..................................................................................43 2.8 资源监控和运维..................................................................................49 3 京东大数据的数据管理 ................................................................................54 3.1 数据架构设计 .....................................................................................55 3.2 数据资产管理 .....................................................................................57 3.3 统一指标体系 .....................................................................................65 3.4 数据安全管理 .....................................................................................66 3.5 数据服务管理 .....................................................................................68 4 京东大数据的数据产品 ................................................................................75 4.1 京东商智 .............................................................................................75 4.2 智能营销 .............................................................................................76 ~1~

4. 京东大数据技术白皮书 4.3 数据管家 .............................................................................................77 4.4 祖冲之 ................................................................................................78 5 京东大数据的应用场景 ................................................................................80 5.1 营销领域 .............................................................................................80 5.2 物流领域 .............................................................................................81 5.3 供应链领域 .........................................................................................82 5.4 智能零售 .............................................................................................85 5.5 金融业务创新 .....................................................................................86 5.6 时尚创新 .............................................................................................88 5.7 人工智能 .............................................................................................89 6 京东大数据的合作生态 ................................................................................93 7 京东大数据的特点........................................................................................95 7.1 高可用和高性能..................................................................................95 7.2 一站式服务平台..................................................................................98 7.3 可靠的安全保障..................................................................................99 8 京东大数据展望 ......................................................................................... 103 8.1 融合统一 ........................................................................................... 103 8.2 开放合作 ........................................................................................... 109 8.3 技术前瞻 ........................................................................................... 110 结语 .................................................................................................................. 117 参考文献 ........................................................................................................... 118 ~2~

5. 京东大数据技术白皮书 序言 众所周知,大数据是企业的基本生产资料,数据信息是企业 宝贵的资产。不同于其他资产,数据资产主要在企业运营过程中 产生,较易获取,但要持续积累、沉淀和做好管理却并不容易, 这是一项长期且系统性的工程。未经“雕琢”的数据是一组无序、 混乱的数字,并不能给企业带来何种价值,从庞杂晦涩的数据中 挖掘出“宝藏”充满着挑战,这需要将业务、技术与管理三者相 互融合起来进行创新。 京东作为一家业内领先的互联网科技公司,完整的产业链条 带来了价值可沽的海量大数据,丰富的业务场景也为技术发展提 供了最佳创新土壤。从认知、探索到今天京东技术上的百花齐放, 我们经历了最为艰苦的创新和付出。业务的复杂与多元化,数据 的飞速增长,给我们带来了很多棘手问题,但也使得大数据平台 拥有更强大的能力,形成了一套完整的技术体系和有效的数据管 理方法,并在实践中得以验证和夯实。 京东大数据平台作为京东集团的数据中台,支撑了京东无界 零售的数据运营和创新。《京东大数据技术白皮书》总结了大数 据技术在京东的落地和成长,分享了大数据技术体系和管理架构, 阐述了大数据在京东的典型业务应用场景,并对大数据的技术方 向进行了展望,是一次对京东大数据平台的最全面解读,希望我 们的实践和思考能给同行以启发和参考,我们期待和业界一起推 ~3~

6. 京东大数据技术白皮书 动国内大数据产业的进步和发展。 京东集团首席技术官 张晨 ~4~

7. 京东大数据技术白皮书 前言 大数据概念近年来受到高度关注,大数据在各个行业的应用 及其带来的影响也引起越来越多的讨论。大数据正在从单纯的技 术概念向实际部署应用转变;从少数领域向众多领域渗透;从企 业内部向各产业与公共服务方向扩展。目前,无论国内还是国外, 大数据技术都在经历前所未有的快速演变,以满足各种应用的需 求。 我国已将大数据发展确定为国家战略,强调要瞄准世界科技 前沿,集中优势资源突破大数据核心技术,加快构建自主可控的 大数据产业链、价值链和生态系统。大数据产业在国内发展得如 火如荼,据统计,2016 年大数据产业规模达 14500 亿元,2017 年 达 19570 亿元,到 2020 年将达到 5 万亿元。大数据技术已经在如 电子商务、政务、民生、金融、工业、医疗等多个领域中广泛应 用。 从国内的大数据技术和行业应用发展来看,大数据技术的基 础架构技术已日趋成熟,大数据领域由技术创新驱动转向应用创 新驱动的趋势开始显现,但更多的传统企业在如何建设大数据平 台,如何利用大数据来驱动企业业务发展上仍然缺乏经验,这在 一定程度上制约了大数据技术的大规模产业应用。 京东拥有全渠道零售和端到端的高质量大数据,包含了用户 的浏览和消费行为、商品制造和销售、物流仓储配送以及客服与 ~5~

8. 京东大数据技术白皮书 售后等丰富完整的信息。同时,京东业务中包含有大量丰富的大 数据应用场景,是大数据实践的最佳场所。早在 2010 年,京东集 团就启动了大数据领域的研发和应用探索工作,经过八年来的持 续投入,京东大数据平台无论从规模、技术先进性,还是体系的 完整性等方面均已达到国内一流水平。作为支撑公司数据运营的 重要阵地,目前已拥有集群规模 40000+服务器,数据规模达 800PB+,每日的 JOB 数 100 万+,业务表 900 万+,每日的离线 数据日处理量 30PB+,单集群规模达到 7000+台,实时计算每天 消费的数据记录近万亿条。 京东大数据平台建设了完整的技术体系,包括离线计算、实 时计算和机器学习平台,可以满足多种复杂应用场景的计算任务。 元数据管理、数据质量管理、任务调度、数据开发工具、流程中 心等构成了全面的数据运营工具。分析师、指南针等数据应用产 品提供了便利的数据分析功能,以及敏感数据保护、数据权限控 制等策略方案,能够最大程度地保护数据资产的安全。 京东大数据在驱动企业业务增长,提升运营效率,为客户提 供个性化、高品质产品及服务上发挥了重要作用。利用大数据分 析和挖掘,京东打造了个性化商城,自主研发了智能门店解决方 案,打造了智能供应链体系,提高了物流配送的效率,实现了知 人、知货、知场景的购物体验。京东大数据的应用已渗透到了业 务的各个环节。 近几年,京东大数据承担了包括大数据和人工智能领域在内 ~6~

9. 京东大数据技术白皮书 的多项国家级重点研发项目。2017 年,京东获得了国家 “大数 据智能管理与分析技术”国家地方联合工程研究中心的授牌。这 些都是国家对京东大数据实力的认可,是京东技术实力的体现。 京东是“开放的京东” ,随着国家大数据战略的逐步落实,我 们希望能输出京东的大数据技术能力,建设开放的技术平台,借 助技术和数据为政府和社会创造更多价值,我们希望借此白皮书 的发布,将京东的大数据技术实践分享出来,为其他企业提供参 考,同时,我们也欢迎更多的合作伙伴与我们一道,共同在大数 据领域深入探索,为我国大数据产业的发展贡献力量。 ~7~

10. 京东大数据技术白皮书 1 京东大数据的发展历程 2010 年,京东集团启动了在大数据领域的研发和应用探索工 作,正式组建京东大数据部,并确立了数据集中式的数据服务模 式,成为企业大数据最早的实践者之一。 大数据平台的发展是随着京东业务同步发展的,由原来的传 统数据仓库模式逐步演变为基于 Hadoop 的分布式计算架构,如 图 1 所示。技术领域覆盖 Hadoop、Kubernetes、Spark、Hive、 Alluxio、Presto、Hbase、Storm、Flink、Kafka 等大数据全生态体 系。目前拥有研发团队 500+人,累计获得技术专利 400+个。 经过多年的持续投入,京东大数据已成为企业大数据的领跑 者。目前已拥有集群规模 40000+服务器,单集群规模达到 7000+ 台,数据规模 800PB+,日增数据 1P+,日运行 JOB 数 100 万+, 业务表 900 万+张。每日的离线数据日处理 30PB+,实时计算每 天消费的行数近万亿条。 图 1:京东大数据发展历程 ~8~

11. 京东大数据技术白皮书 京东大数据建设了全生态核心产品体系,是京东大数据业务 的基础服务平台,为京东全业务生态提供一站式、自助式的大数 据处理全流程解决方案。涵盖数据采集、存储、加工、分析、可 视化、机器学习等专业化产品和服务,在保障数据安全的前提下, 提供更可靠、高性能的服务,大幅降低大数据使用门槛,帮助京 东大数据业务快速落地,助力京东实践以数据为驱动的业务变革 与发展。 ~9~

12. 京东大数据技术白皮书 2 京东大数据的技术体系 京东大数据平台构建了完整的技术体系,通过一系列的技术 方法实现了更可靠、高可用、具有京东自身特色的平台环境。如 图 2 所示,平台覆盖 Hadoop、Kubernetes、Spark、Hive、Alluxio、 Presto、Hbase、Storm、Flink、Kafka 等技术全栈,满足各类应用 场景对数据平台的要求。 图 2:京东大数据平台技术架构 2.1 数据采集和预处理 数据采集是大数据的基石。京东包含了电商所涉及的营销、 交易、仓储、配送、售后等环节,每个环节都会产生大量的业务 数据,同时线上的业务日志系统和消息系统也会产生海量的数据。 为了将上述结构化和非结构化数据进行采集,以便后续被数据应 ~ 10 ~

13. 京东大数据技术白皮书 用类系统所使用,京东搭建了一套标准化的数据采集系统——数 据直通车。 数据直通车为京东线上数据接入京东数据仓库提供了一套 完整解决方案,为后续的查询、分发、计算和分析提供数据基础。 直通车提供丰富多样、简单易用的数据采集功能,可满足离线计 算、实时计算、集成分发等多种需求,并进行全程状态监控。 根据不同业务场景对于数据时效性的不同要求,直通车支持 离线数据采集和实时数据采集两种数据采集方式。 离线数据采集主要支持的数据类型为:MySQL、SQL Server、 Oracle、MongoDB、HBase、ElasticSearch、离线文件;实时数据采 集主要支持的数据类型为:MySQL、日志、HTTP API、JMQ 等, 并支持 API 接口实现实时数据上报。 离线采集每天在零点后抽取前一天增量的数据(T+1) ,然后 将 T+1 的数据与已有的全量数据合并形成新的全量数据,并将 数据储存到目标表对应的分区中。图 3 展现了离线数据采集的完 整架构: ~ 11 ~

14. 京东大数据技术白皮书 图 3:离线数据采集架构 数据直通车同样为实时数据采集提供了一套标准化的解决 方案,实时数据采集目前支持 MySQL、SQL Server、Oracle、JMQ、 日志等多种数据源类型。 对于 MySQL 数据库,系统参照数据库的主从复制模式,通 过把关系型数据库的 Binlog 日志实时抓取并解析发送到实时数 据总线(JDQ)内。实时采集按照数据库实例粒度抓取 MySQL 实 例上的所有 Binlog,在程序内部进行 Binlog 的实时解析并过滤出 所需要的库表,再以表粒度发送到不同的 Topic 上,方便下游用 户进行业务表粒度的实时处理。 JMQ 是京东内部线上系统的消息中间件服务, 很多业务数据 在落数据库之前都会经过 JMQ 系统在不同的业务系统之间进行 传递。数据直通车可以把 JMQ 内的线上系统消息实时地同步到 实时数据总线(JDQ)内,再由数据消费者按需处理,极大地提 ~ 12 ~

15. 京东大数据技术白皮书 高了数据处理系统的服务能力。 京东内部所有系统的实时数据都会通过数据直通车实时采 集到 JDQ 系统,统一由 JDQ 对下游业务需求提供实时数据消费 服务。该方案帮助业务用户在技术层面屏蔽了实时数据采集的复 杂度,并使得系统能够提供稳定的服务能力。 2.2 流量数据采集 目前京东拥有丰富的入口平台,包括 PC 上看到的网站,无 线客户端上访问的 H5 页面,移动端应用,微信手 Q 内的购物入 口,京东自主研发或合作的智能设备,微信生态下的小程序,以 及通过开普勒开放赋能给其他合作的 APP 等等。多样的数据展 示形式使得不同的访问入口每天都有大量的用户访问,流量数据 采集成为了京东大数据的一个重要环节。由于入口平台实现原理 不同,数据采集的诉求也不同,包括针对不同的事件,不同的场 景有着特定的采集诉求等,以下我们将开始介绍在京东流量数据 采集的相关技术。 2.2.1 浏览器页面的采集 2.2.1.1 采集流程 浏览器的日志采集,主要包含两大类日志:页面日志、点击 及自定义日志,其中页面日志采集主要是指浏览器中页面被加载 时的日志,而点击及自定义日志则是相关行为被触发后产生的日 ~ 13 ~

16. 京东大数据技术白皮书 志,页面日志采集的流程如图 4 所示。 图 4:页面日志采集流程 页面日志采集主要包含以下几个环节: (1) 日志采集。网站的页面在上线前,会在页面内植入一段 JS 的采集脚本,当用户在访问网站的页面时,浏览器会 进行加载、解析并执行 JS 脚本,JS 脚本在执行过程中会 收集当前页面的一些信息、浏览器环境的相关信息、用 户访问上下文的信息(例如第几次访问网站,当前访问 页面的上一页面信息等等)以及业务特性的相关数据。 (2) 日志上报。JS 脚本执行在执行完毕后,会将所有收集到 的信息拼装到一个请求内,通过日志请求将数据发送到 日志服务器。一般情况下,在 JS 执行完成后就会立即向 日志服务器发送。 (3) 日志接收。日志接收服务器在接收到客户端发送来的 ~ 14 ~

17. 京东大数据技术白皮书 日志请求后,会向浏览器返回一个请求成功的响应。日 志服务器在接收到上报的日志后,还会在服务器上执行 业务定制的特殊处理,对日志进行过滤筛选,然后再将 日志存储在本地磁盘或者发送至实时平台中,供下游使 用。 (4) 日志存储。目前采集到的日志通过两种方式进行存储: 离线和实时。其中离线主要指服务器在接收到日志请求 后,会将请求进行简单处理后落地到本地的磁盘中,然 后通过日志抽取的方式将本地的日志及时抽取到相应 的数据仓库中,实时则是将请求的消息体实时地分发到 相应的实时处理平台中进行缓存,下游则根据该缓存的 数据进行后续的应用。 (5) 日志解析。下游业务在拿到原始日志后,结合自己的业 务需求对数据进行过滤筛选,同时结合统计分析的需求 对数据进行加工处理。 日志经过了以上的几个步骤后,我们就完成了用户的流量数 据收集。 2.2.1.2 页面日志 网页页面是网站最基本的载体,通过页面的形式将希望展示 的内容呈现给用户。为了更好地了解页面的访问情况,就需要我 们采集页面的访问日志,有了页面日志后,我们可以统计分析页 ~ 15 ~

18. 京东大数据技术白皮书 面的浏览量(pv) 、页面的访客数(uv) 、页面的加载时长、页面 的停留时长等情况,也可以进行上下游的分析,访问用户的分析, 为营销策略调整提供数据支撑。 页面日志主要是在用户访问页面的时候进行采集的,目前主 要采集了页面的基本信息、页面上下文、页面业务信息、页面的 其他基本信息。 2.2.1.3 点击及自定义日志 点击及自定义日志,主要用于收集用户在网站中除浏览以外 的日志,主要包括交互日志、曝光日志、自定义日志等。对于交 互日志,例如用户通过鼠标的相关操作,移动、点击鼠标等操作 与页面发生交互,页面会根据交互行为得到相应的结果,在用户 触发这些交互行为时,会触发页面采集的脚本,从而将该部分交 互日志采集到。曝光日志则是根据用户访问页面后,页面自发展 示的一些其他内容形式,例如弹窗,轮播图等等形式。为了看到 曝光之后用户对该内容的转化效果,就需要知道目前曝光的具体 情况,例如在什么时间、曝光给了那些用户等等。自定义日志则 是根据业务特性定制的一些特殊日志,例如采集页面停留的位置, 用户在页面中的访问路径等等。 点击及自定义日志的采集方法主要为用户特定标记的信息 采集,即在网页上预设采集脚本,当该网页的某个位置被点击或 自定义的行为被用户触发了,则会产生相应日志并上报给日志服 ~ 16 ~

19. 京东大数据技术白皮书 务器。随着触发条件被同时采集的还包括用户的基本信息、页面 的基本信息、浏览器的基本信息,以及访问历史相关的信息等。 点击及自定义日志的采集,更好地还原了用户在网站页面中 的访问情况。有时为了更好地记录用户的访问行为,需要使用相 应的标识用来做各种场景的区分,同时在采集代码植入时就标记 下来,这样在用户的行为发生时,相应的日志就能够采集到更完 善的信息,为我们后续的数据统计分析及业务应用提供了帮助。 2.2.2 移动设备日志采集 随着用户对移动设备的依赖越来越重,用户的访问也逐步向 移动端迁移,移动端的数据采集也越来越重要。目前移动设备基 本以 APP 应用的方式进行对外应用,针对 APP 应用的数据采集, 京东提供了自主研发的 SDK 工具。该 SDK 可以收集用户在 APP 的各种事件行为数据,收集 APP 的性能日志,也支持研发采集 一些自定义状态,自定义事件等场景的数据。SDK 被预置在 APP 应用内,用户在使用 APP 的过程中,如果触发了预先设计的场 景,将会触发 SDK 的采集方法,进而生成相应的用户行为日志, 并收集到 APP 应用内,并在合适的时机下上报的日志接收服务 器。 2.2.2.1 页面标识 网站页面在浏览器内访问时,会有相应的页面链接,而用户 ~ 17 ~

20. 京东大数据技术白皮书 在移动设备上访问时,由于移动端的特殊性,页面都是以接口的 形式展示,但接口不直观,数据人员无法直接访问展示,直接判 定该页面具体信息,因此需要针对页面接口进行重新标识。京东 提供了相应的管理界面,可以备注具体接口对应的别名信息,接 口描述信息,业务可以快速地查阅和使用。 2.2.2.2 页面事件 用户在移动设备上留下各种事件行为,事件行为都是由后台 实现的一些通用接口方法来实现,为了标识这些事件,并且以更 简单易懂的信息来标识,我们提供了页面事件管理的功能,通过 事件管理来标识具体的行为事件。研发通过埋点开发,将这部分 事件行为植入到对应的接口中,再通过 SDK 进行采集上报,就 可以快速地标识出用户的事件数据。 2.2.2.3 特殊场景 电商行业包含了两大特殊的业务场景:引流、跟单。 引流:引流主要指的是广告渠道的引流效果跟踪,业务在站 外投放广告,用户通过点击广告坑位进入网站,然后在网站中进 行后续的访问,为了跟进各个广告位的流量进入及订单转化效果。 京东目前对站外广告渠道进行打标,在用户通过点击广告位跳转 到京东后,来源的链接上会有相应的广告参数,再借助业务制定 的广告覆盖规则更新广告渠道信息,而这部分广告渠道信息将会 ~ 18 ~

21. 京东大数据技术白皮书 保持在后续访问的所有页面内,通过页面的广告渠道信息就可以 统计分析出各个广告渠道的引流效果。 跟单:跟单主要指的是订单来源的跟踪,跟单效果包含两大 类,一个是站外的订单效果跟踪,一个是站内的订单效果跟踪。 其中站外跟单效果分析,由于页面中包含了广告渠道的信息,因 此可以通过页面中包含广告参数信息来统计分析,站内活动或者 坑位的引入效果没有标识,我们设定了相应的跟单逻辑,通过对 应的跟单逻辑可以跟踪各个坑位的订单引入效果。 2.2.2.4 设备标识 目前移动设备可以通过 MEID,IMEI,IMSI,MAC,以及苹 果的 UDID 信息来识别,但是随着用户的自我保护意识加强,苹 果系统禁用设备标识,Android 新系统也对设备信息做了权限控 制,用户的基本设备信息获取愈发困难,想要进行设备标识成为 了一个需要攻克的难题。为了更好地分析用户,识别一个用户的 所有访问记录,将用户的画像信息描绘得更完善,就需要一个设 备唯一标识。京东通过移动设备相关的硬件信息,并结合一定的 历史数据及算法,融合出自己的唯一标识 JDID,通过该标识唯 一标识一个设备。 2.2.2.5 H5 与 APP 原生页 我们在访问一个 APP 设备时,通常会包含两种页面形式, ~ 19 ~

22. 京东大数据技术白皮书 一种是 APP 原生页,一种是 H5 页面,其中 APP 原生页的数据 采集通过 SDK 的方式来采集,H5 页面则是通过页面中的 JS 来 进行采集,由于是在同一个 APP 内访问,业务人员通常希望将 APP 内的 H5 的数据算作 APP 的一部分,而由于采集方式的不 同,数据需要进行统一,同时也需要相应的交互处理,即 H5 页 面可以标识出来具体是在哪个 APP 应用内访问带来的。 2.2.2.6 日志采集控制 用户在移动设备上访问后,每个操作都会产生一个操作日志, 但并不是每生成一条日志就实时上报至服务器,而是在产生日志 后,先暂存在客户端本地,再结合着相应的上报控制策略进行数 据上报。其中上报策略主要指根据日志的业务特性,数据的时效 性,用户的网络特性等等信息设定不同的上报策略,有些日志会 因为其数据时效性的要求进行实时数据上报,而有些日志则会在 用户启动应用,或者间隔一段时间后将日志上报上来。 2.2.3 客户端与服务器日志采集 除了浏览器和移动设备外,用户可能有自己的客户端或者服 务端的日志需要进行采集,京东提供了相应的数据采集方案。其 中客户端也主要以服务器端方式进行日志采集,通过相应的接口 调用,在后台组织好相应的日志形式,然后向日志接收服务器发 送日志请求。日志接收服务器则根据约定的协议判定该日志是否 ~ 20 ~

23. 京东大数据技术白皮书 为合法日志,最终将业务日志落地到相应的服务器上。 2.2.4 采集的难点与挑战 2.2.4.1 业务特性 在数据采集过程中遇到的一个难点就是业务特性信息的收 集,不同的业务场景需要收集不同的信息,但又不能每个业务场 景都进行特殊开发,因此就需要设计一种日志数据采集解决方案, 可以针对特定的业务场景,制定通用的数据采集标识,研发人员 在进行页面埋点时,依据标准的数据采集标识规则进行埋点,从 而收集业务的详细信息。例如电商行业中有商品详情页、搜索页、 店铺页、下单页等特殊分类页面,而这些页面则需要分别采集具 体的商品编号、搜索的关键字、店铺编号、订单对应的编号信息。 该部分信息需要多方达成一致,确保产品、埋点研发、模型开发 人员、数据分析人员对其有着相同的认识,以保证采集到的数据 可以正常的解析处理,供分析人员进行数据统计分析,利用数据 采集标识即可做到这一点。 2.2.4.2 全域用户标识 目前京东存在的入口很多,包括 PC 端的网站,移动端的网 页,移动应用,包括微信手 Q,微信小程序等,同时京东还有很 多的垂直业务,例如京东金融,京东全球购等等,而用户在不同 的入口都有着不同的标识方式,而如果用户在未登录的情况下, ~ 21 ~

24. 京东大数据技术白皮书 如何将用户在全域下识别成同一个用户成为了一个重要课题。京 东依据各入口的用户标识方式,结合用户之前的使用记录,用户 偏好等等信息,再结合自用的算法逻辑,将全域的信息进行打通, 形成全域的用户唯一标识。通过全域的用户唯一标识,我们就可 以知道一个用户在不同网站,不同设备上的访问习惯,方便营销 人员对用户进行更精准的营销活动。 2.3 数据存储体系 2.3.1 HDFS 存储 JDHDFS 是京东基于 HDFS 自研的大数据分布式存储平台, 采用分布式存储技术,满足大数据高效可靠的存储需求,提供较 高的持久性、较高的吞吐量和较低的延迟速度, 具备高可用性和 高可靠性的特点,容易扩展, 并支持水平扩展至百 PB 级存储容 量, 同时拥有较高的硬件故障容忍能力, 提供全面的安全性和多 样化的权限功能。 相对于开源版本的 HDFS, ,JDHDFS 主要改进的技术点如 下: (1)基于路由的 Federation 方案(Router-Based Federation) 随着集群规模的增长,Namenode 存储成为集群性能的关键 瓶颈。我们参考社区版本设计文档, 研发功能模块 RBF(Router- Based Federation 基于路由的 Federation 方案), 支持动态映射、 嵌套映射等功能,可以解决 hadoop 集群无限横向扩展的规模问 ~ 22 ~

25. 京东大数据技术白皮书 题。 (2)数据生命周期管理(Data Lifecycle Management)组件 基于数据生命周期管理的策略,该组件定期调度进行过期 Job 日志聚合目录 app-logs、中间结果文件、Cgroups 文件的清理 以及固定周期小文件的整理合并。 (3)基于资源利用率的智能选块 改进后的 Namenode 节点可以实时感知集群所有 Datanode 的繁忙状态,根据 CPU、内存、磁盘、网络的繁忙程度进行副本 的位置选择,规避繁忙状态的 Datanode 节点,可以对整个集群 的负载实时平衡。 (4)跨集群容灾 集群往往不在同一个数据中心,甚至是跨地域的。集群间网 络延迟较高,交换数据成本昂贵。原有执行同步的方式会造成数 据延迟。我们基于集群数据同步方式代替 distcp, 同时做到数据 低延迟访问, 支持双主访问, 降低额外物理资源冗余。 京东分布式存储采用将元数据集群与数据集群分离并可实 现独立扩展,用户既可以通过扩展元数据集群获得更多文件管理 的能力,又可通过扩展数据存储集群获得更大的聚合带宽与存储 容量。灵活、无缝、平滑的扩展方式可以为用户高效的计算环境 提供坚实的数据保障。图 5 展示 JDHDFS 的技术架构。 ~ 23 ~

26. 京东大数据技术白皮书 图 5:JDHDFS 技术架构  数据高可靠和平台高可用 平台可用性是最重要的指标之一,需要保证在机器发生故障 时,系统可用性不受影响。我们使用多副本策略, 副本分布在不 同的机器, 机器故障引起某些副本失效时,其它副本仍然能提供 服务。 平台允许对虚拟存储池中不同的目录设置不同的副本数,可 手动设置 1-4 个文件副本, 可保证数据在多块磁盘甚至单台服 务器损坏的情况下存储系统的服务正常运转。 为了保证任何一台存储服务器失效或者是任何一块硬盘失 效都不会影响数据的可靠性和一致性,使用 pipeline 机制保证数 据写入顺序,所有的数据副本以及数据校验有严格写入顺序,如 ~ 24 ~

27. 京东大数据技术白皮书 图 6 所示。当正在进行数据写入的磁盘和存储服务器发生故障时, 元数据服务器会为此数据对象分配新的空间,以继续进行数据写 入,而之前在失效磁盘上写入的数据则会通过另一份数据副本恢 复到相应的磁盘和存储服务器上。 图 6:JDHDFS 存储架构图  集群水平扩展能力 存储平台中的元数据服务器和存储节点是拥有横向水平扩 展能力。存储节点扩展是存储节点数量的扩展,存储节点扩展带 来容量上的增长。扩展过程中无需中断存储系统上应用的运行, 扩展的容量即插即用。而且随着存储服务器数量的增多,整套存 储平台的流量也会线性增长,成为核心存储集群之一。 元数据服务器的扩展带来的是文件数量存储能力的增长。如 图 7 所示,整个扩展过程对整个应用平台完全透明,扩展的元数 据服务器即刻能够提供服务,前端应用无需进行任何配置。随着 元数据服务器数量的增多,整套集群存储系统所提供的元数据服 务能力也会呈线性增长,能够管理的文件总个数也线性增加。 ~ 25 ~

28. 京东大数据技术白皮书 图 7:元数据服务器 2.3.2 HBase 存储 JDHBase 是一个分布式存储系统,具有高效的实时读写性能。 可以支持每秒千万级数据记录写入和毫秒级的查询响应,当数据 量达到 PB 级别,仍然保持高性能读写。 目前京东 HBase 集群规模 5000 多台,支持京东 600 多个业 务系统,典型业务有:  商城:商品评价、会员 PLUS、个性推荐、用户画像、 POP 订单、商家营销  智能:JIMI 机器人、AI 图片、图像识别、门禁刷脸  金融:风控、白条、支付、资管  物流:订单追踪、物流仓储、销量预测  监控:统一监控、服务器监控、容器监控、大数据监控、 ~ 26 ~

29. 京东大数据技术白皮书 大屏监控 JDHBase 集群的服务端 (如图 8 所示) 是京东 HBase 的核心, 它保障了 HBase 集群的性能和稳定,并提供了安全认证、主备切 换、分组隔离、SQL 支持等重要功能。 JDHBase 的客户端是京东 HBase 的重要支撑,所有业务程序 都使用标准客户端来访问 HBase 集群,实现了用户身份认证、主 备切换、实时监控等功能。 JDHBase 服务中心实现了各集群之间的统筹管理,通过它我 们可以控制业务数据在多个集群中的流向形成数据流向拓扑,方 便地进行数据的迁移。同时提供对业务端透明的主从、主主策略 的动态变更。 图 8:JDHBase 服务架构  京东 HBase 特点: (1) 4+1 架构 针对京东的业务场景和使用方式,我们对 JDHBase 的使用 ~ 27 ~

30. 京东大数据技术白皮书 方式做了很多思考与优化。如图 9 所示,我们将整个 JDHBase 平 台逻辑拆分成存储层、内核层、中间件层、用户层和一个辅助系 统。 底层部署上我们支持将 HDFS 和 HBase 分开部署,同时可 以利用容器技术快速扩容和创建新的 HBase 集群。满足各种场景 的读写需求。 在 HBase 内核部分我们通过修改源码让 HBase RegionServer 能够识别运行的硬件类型并根据其预设值自适应到最佳性能状 态,支持多种硬件混合部署集群。 在中间件部分我们通过接口服务的方式向外围系统提供支 持,如主备容灾、数据治理服务、集群分组管理服务、权限管控 服务、配额&限速管理服务,多语言支持组件等。 在用户层我们向最终用户提供多种可选的数据加载方式和 查询引擎满足不同业务场景和需求。 ~ 28 ~

31. 京东大数据技术白皮书 图 9:JDHbase 技术架构 (2)多活灾备 为了满足业务对 JDHBase 读写的实时性要求和数据安全性 的要求, 我们自主研发了一套基于策略的多集群切换机制 (图 10) 。 在集群拓扑上每个集群都会有备份集群来保证跨机房的数据备 份。从安全维度上我们分别做到了集群级、namespace、表级的支 持,可以针对每个级别设置不同的容灾切换策略,如手动、自动、 强制等。通过这种方式我们可以随时调整策略将部分业务分批、 分级切换,如隔离、降级、防雪崩等场景。 多 集 群 切 换 机 制 的 主 要 工 作 组 件 由 服 务 中 心 、 HBase PolicyServer、客户端三部分构成: 客户端会定期以心跳的方式访问 HBase PolicyServer 获取所 操作对象的集群服务信息和切换策略信息,当发现主集群信息改 变之后客户端会根据切换策略进入切换流程。 PolicyServer 是对外提供查询和修改策略的服务,它所有策 略数据会存储在 MySQL 中,可以通过加节点的方式动态扩展形 成一个服务集群,避免单点问题。 ServiceCenter 提供一个界面化的多集群管理服务工具供管理 员使用。 在极端情况下,如果主集群彻底瘫痪,我们可以通过强制切 换的方式把所有业务快速切换到从集群。同时触发主备数据同步 校验机制,后台会自动在主集群状态恢复后将校验主从集群的数 ~ 29 ~

32. 京东大数据技术白皮书 据一致性并同步数据,保证数据安全性。 图 10:HBase 服务集群 (3)多租户分组隔离 HBase 默认的使用方式是一个业务一个集群,资源利用率低, 维护成本高。也可以多个业务共用一个集群,但是会有资源竞争 和故障扩散等问题。例如,一个业务出现异常可能会影响整个集 群的可用性。基于以上的原因,我们引入了 HBase2.0 的 rs 分组 功能(目前官方仍然是 beta 版)并进行了改进完善,实现了将 HBase 集群动态切分成多个分组,每个分组中有多台物理服务器 (图 11) 。这样既能将业务进行物理隔离防止资源竞争和故障扩 散,还能在 618 和 11.11 大促时期动态调整集群资源,提升硬件 资源利用率。 ~ 30 ~

33. 京东大数据技术白皮书 图 11:Hbase 多租户隔离 (4)SQL 查询 原生的 HBase 只提供 key-value 查询和范围扫描。我们引入 了开源的 phoenix 组件,并进行了安全认证、性能和稳定性提升 等工作,可以支持标准 sql 查询,例如创建二级索引、多表 join 查询、sql 子查询、聚合查询、创建分桶表、分页查询等功能,如 图 12 所示。这使得 HBase 功能更加丰富,不仅支持实时查询, 还能做实时统计分析,适应更复杂的应用场景。 ~ 31 ~

34. 京东大数据技术白皮书 图 12:支持 SQL 查询 除以上外,我们还做了其他重要优化改进,如使用 G1 垃圾 回收器提升 JVM 性能、 支持在线不停机跨版本数据迁移等功能, 将主备 replication 同步速度提升到分钟级别,archive 归档清理性 能提升 10%以上。 随着容器技术的成熟,我们正在尝试 Hbase 的容器化部署, 以便实现更好的资源隔离并提升资源使用率。由于承载的数据量 越来越大,Hbase 提供的均衡策略已经不能满足业务需求,我们 也在着手进行 balance 均衡策略的调整,并使用 Netty Rpc Client 来改造 PRC 客户端性能,提升数据写入的速度。 在集群硬件方面,我们部署了 SAS 和 SSD 磁盘混合方案, 从目前的压测效果看比较好,将来会逐步上线。 ~ 32 ~

35. 京东大数据技术白皮书 2.3.3 冷热数据管理 随着数据量的不断增长积累,数据也会呈现出访问热度不同 的明显差异。我们将数据访问频率高的数据称为“热”数据,访 问频率低的数据称为“冷”数据。如果无论数据冷热情况,都采 用同样的存储策略,是对集群资源的一种浪费。因此,需要根据 数据冷热程度对 HDFS 存储系统进行优化。 京东大数据针对冷热数据设计了较完整的机制,主要包括:  冷数据的规则配置 管理员可配置冷数据的扫描范围,对不同集群、ns、用户可 灵活配置不同的扫描路径,归档周期以及归档路径。 同时为了配合业务使用,可以允许业务用户根据业务需要对 部分数据设置白名单进行保护,避免被冷备份。  冷数据的扫描和备份 利用配置表对 HDFS 存储数据一次性进行正则匹配,获取想 要的冷数据列表。被扫描出的冷数据被迁移到冷数据集群,进行 降副本操作和隔离操作,并释放原有集群的存储资源。  冷数据的恢复和删除 如有业务需要对冷数据进行恢复,可申请恢复冷数据。经过 批复后数据将很快从冷集群恢复至正常环境。若冷集群归档后一 定时间内无恢复申请,将删除冷数据并释放资源到大集群。  冷数据的统计分析报告 大数据平台同时提供从不同角度对冷数据归档信息进行统 ~ 33 ~

36. 京东大数据技术白皮书 计分析并展示,更直观地反映冷数据当前的归档情况,方便用户 查看。 2.4 离线计算环境 大数据离线计算为多种应用场景提供基础计算功能,其特点 为:  数据量巨大且保存时间长;  在大量数据上进行复杂的批量运算,能够方便地查询批 量计算的结果;  数据在计算之前已经完全到位,不会发生变化。 京东大数据支持 Hiv、Pig、Spark SQL、Presto、MapReduce 等 计算工具,并支持 Alluxio 的存储架构,形成了离线计算引擎,如 图 13 所示。 图 13:离线计算架构  JDHive 计算引擎服务 ~ 34 ~

37. 京东大数据技术白皮书 JDHive 是基于 HIVE 社区版本深度定制的大数据查询引擎, 它是目前业内能够支撑 GB/TB/PB 级数据仓库的通用解决方案 之一, 支持将 sql 语句转换为 MapReduce 任务, 能够快速处理海 量数据计算,有效降低分布式计算模型的使用成本。 JDHive 为用户提供基于社区版的所有功能,同时进一步推 出一系列高级特性解决不同业务场景的需求, 包括:元数据管理、 审计日志管理、读写 IO 管理、UDF 统一管理等功能。针对服务 性能优化, 我们坚持不断试错,不断优化,不断打磨的原则, 持 续推动着 JDHive 的进化。如今京东大数据百分八十的业务都在 使用 JDHive 提供的服务支持。  JDSpark 计算引擎服务 JDSpark 是京东大数据平台对外开放的核心计算引擎之一, 旨在为高性能、迭代计算、时效性要求极高的场景服务, 同时针 对部分具有研发能力较高的深度用户提供 SDK 开发功能。 随着京东业务的飞速增长, 很多业务场景已经无法接受基 于磁盘批处理的 MapReduce 计算服务, 更倾向使用内存进行快速 迭代计算, 希望整体提升数据结果的时效性, 我们的目标是将 JDSpark 打造成基于内存与 SSD 作为存储迭代计算的框架,通过 技术手段提升任务的时效性。  ADHOC 查询服务 我们针对 ADHOC 业务场景, 提供实时查询与预计算的两种 方式的查询场景, 分别使用 Presto、Kylin 计算引擎为用户提供支 ~ 35 ~

38. 京东大数据技术白皮书 持,基于 YARN 整合多种计算框架, 优化 Presto 的监控和报警机 制、PrestoCache 的开发、Orc 优化、Master 的 Docker 化,提供自 愈、报警、限流等功能。 图 14 和图 15 展示了基于 Presto 提供的 ADHoc 查询服务的 技术架构。 图 14:Presto On Yarn 计算架构 我们同时支撑许多线上业务系统的查询服务,基于 Yarn 整 合了 Alluxio,提供 Presto+Alluxio 的组合,并通过增加 Alluxio 常 用命令、优化 LRU 置换内存、支持 hdfs 同步校验(一致性)等 将多种工具融合,提供灵活、高效的数据计算工具和数据查询工 ~ 36 ~

39. 京东大数据技术白皮书 具。 图 15:Presto 高可用架构 2.5 实时计算环境 尽管传统数据仓库的 T+1(以天为计算周期对数据进行批处 理)机制一定程度上能满足数据处理的日常需求,但是这种处理 方式毕竟具有一定的滞后性,针对时效性要求更高(实时计算) 的诸如 618、双 11 的实时大屏、实时预测、风控预警等诸多场景, T+1 的处理方式不免显得有些力不从心。因此需要一种降低整个 数据处理链路延迟的计算方式来弥补 T+1 计算的不足。 京东大数据实时计算平台(JRC)实现了计算过程的低延迟、 ~ 37 ~

40. 京东大数据技术白皮书 高吞吐、计算结果的可复用和计算任务开发简单化的目标。采用 复合事件模型构建分布式流数据计算框架,功能易扩展、部分容 错、数据和状态可监控。JRC 具有处理实时数据流的能力,同时 将实时计算结果以服务的方式供业务系统调用,支撑业务团队的 个性化需求,JRC 平台可以为智能营销、个性化推荐等应用提供 实时计算数据,未来将提供更加智能化的实时计算服务。 图 16 展示了京东大数据实时计算平台的技术架构。 图 16:实时计算平台 京东大数据实时计算环境由三个部分组成:  JDQ 实时数据总线 JDQ 是京东大数据平台部基于 Kafka 打造的高吞吐量、低延 迟、高可用的分布式生产、订阅消息系统,是大数据平台的一项 ~ 38 ~

41. 京东大数据技术白皮书 重要服务。 针对京东的业务场景,我们对 Kafka 进行了一系列的架构改 造,支持数据读写分离,消费切换衔接,跨机房灾备,对机房间 传输进行了流量管控,减少跨机房的流量传输,针对数据安全, 我们对安全认证和权限管理做了针对性的升级。JDQ 在经历了多 次 618 和双十一的考验后,性能表现非常稳定。  准实时数据仓库 将数据仓库的 ETL 部分用实时采集技术替代离线抽取技术, 将传统的 T+1 模式的数据仓库升级为 T+0 模式,用同一张 Hive 表同时满足实时和离线用户的使用需求,与线上最新数据状态有 不超过 5 分钟的延迟, 可以查询每条数据的 INSERT, UPDATE, DELETE 变更轨迹。  JRC 实时计算平台 京东选择 Storm、SparkStreaming 和 Flink 同时作为实时计算 平台的技术框架,用户可以根据自己的情况选择合适的框架来实 现实时计算。Storm 作为第一代增量计算的高速事件处理框架, 它的毫秒级延迟满足对延迟要求较高的场景。而 SparkStreaming 的有状态计算、对延迟要求不高以及图形操作、机器学习、SQL 支持等特性恰恰是对 Storm 的完美补充。Flink 的出现可以说是以 上框架优点的集大成者。Flink 支持 Storm 式的增量迭代和毫秒级 延迟,吞吐量比 Storm 高,并且具有对迭代自动优化的功能,支 持 Exactly Once 、状态管理和窗口统计,在迭代式数据处理上, ~ 39 ~

42. 京东大数据技术白皮书 更是比 Spark 更突出。 在技术层面,实时计算平台不是对开源技术的照搬。我们汲 取社区开源框架的优势,取长补短,对开源技术进行二次开发。 产品层面,通过支持 SQL 引擎,提升用户体验,提高使用效率, 降低用户的学习成本,让用户通过 SQL 方式体验实时技术所带 来的魅力。 鉴于 Flink 在技术架构上的天然优势以及批流统一技术上的 日趋完善,我们会逐步推动 Flink 成为未来统一的、通用的大数 据实时计算引擎。 2.6 机器学习环境 京东在机器学习平台已经深耕多年。平台依托于大数据底层 先进的基础架构设施,有效地将大数据平台中的计算、存储、调 度等系统协同起来。它可以为用户提供数据标注、数据清洗、数 据建模、模型上线等一站式服务。依托这个平台,用户可以轻松 地在 PB 级数据上快速进行算法的研究和落地。到目前为止,京 东大数据的机器学习平台广泛应用于供应链、用户画像、无界零 售等领域。 京东的机器学习平台由基础架构层、工具层、任务调度层、 算法层以及 API 层组成,架构图如图 17 所示。 ~ 40 ~

43. 京东大数据技术白皮书 图 17:机器学习平台  基础架构层 京东的机器学习平台拥有调度大规模异构计算资源的能力。 为了满足不同的机器学习算法的计算需求,基础架构层能同时支 持 CPU、GPU、高速存储设备、高速网络设备等不同硬件资源调 度。借助虚拟化技术,机器学习平台可以将同一个硬件设备在不 同的任务中进行资源共享,有效地提高了硬件资源的利用率。 高性能资源调度器能帮助不同的数据建模工具快速找到合 适的计算资源,并且部署分发计算任务,管理任务状态,按照约 定的协议对分布式的任务进行错误恢复。  工具层 工具层给用户提供了机器学习算法研发的一站式服务。用户 可以通过离线和实时数据处理平台进行海量数据的处理和分析, ~ 41 ~

44. 京东大数据技术白皮书 从数据中找到业务的价值。 我们围绕着统计学习和深度学习等领域,结合京东的基础架 构,对这些建模工具进行了大量的改进和优化,使其充分适应京 东的计算环境,提升其算法的训练速度和训练数据集的规模。与 此同时,机器学习平台还提供了超参数优化等功能。依靠这些功 能,用户可以快速在海量数据上构建上千亿维度的模型。 为了进一步降低模型的落地门槛,京东的机器学习平台还提 供了统一的 serving 平台。用户可以在不需要做任何系统开发的 情况下,将算法模型变成稳定高效的服务接口。serving 平台除了 根据算法模型的特点进行了大量的硬件层面和软件层面的性能 优化之外,还给用户提供了统一监控报警、负载均衡、模型版本 管理、多版本 A/B 测试等功能。用户还可以借助跨平台 SDK 对 模型进行压缩和裁剪,以便应用于移动端及 IOT 设备之上。  任务调度层 随着近几年人工智能技术的快速发展,算法模型精度提升的 同时,模型的复杂性也在不断地增加,用户往往不能只依赖单一 工具或单一任务来达到目标。为了解决这一痛点,京东的机器学 习平台利用任务调度系统将不同的工具连接到一起,帮助用户完 成复杂的 DAG 任务和定时任务,降低用户的使用难度。  算法层 京东的机器学习平台内置了上百个经过优化的算法模块。这 些算法模块覆盖了视觉、语音、自然语言、统计分析、图运算、 ~ 42 ~

45. 京东大数据技术白皮书 特征处理等领域。每一个模块都采用了统一的数据接口,同时提 供了灵活的参数供用户进行调整。用户可以通过命令行或者 UI 交互将不同的算法模块链接到一起来完成一个复杂的机器学习 任务。  API 层 京东的机器学习平台还为用户提供了丰富的人工智能 API 服务,如人脸识别、文字识别、评论分析等。用户甚至不需要进 行任何模型开发就可以直接使用。 2.7 任务管理和调度 京东大数据应用在各个业务当中,大数据平台上每天运行的 数据处理任务超过 30 万个。这些任务要完成各种复杂的逻辑运 算,任务之间有关联、有顺序、有依赖,要满足不同条件的调度。 京东分布式调度平台很好地解决了这些问题。 如图 18 所示,调度架构基本分为以下几个主要部分: NameNode、TaskNode、Web 管理端和日志收集器。 ~ 43 ~

46. 京东大数据技术白皮书 图 18:调度平台基础架构图 NameNode 作为控制节点主要负责将任务执行命令发送给 TaskNode,TaskNode 会将任务真正执行起来,并将日志输出到日 志收集器,将结果返回到 NameNode 并写入数据库,最终用户通 过浏览器打开 Web 管理端查看、操作自己的任务。详细功能如 下:  NameNode NameNode 是调度平台的核心调度节点,负责任务实例化、 扫描符合执行条件的实例、检查依赖、分配任务执行节点、处理 任务执行结果、管理 TaskNode 节点等核心工作。目前 NameNode 部分支持 Alive-Alive 方式的高可用,并可水平扩展。  TaskNode NameNode 按 照 一 定 的 分 配 策 略 将 任 务 分 配 到 具 体 TaskNode 后,TaskNode 会主动从 NameNode 领取任务,并根据 任务配置启动任务执行代理器(TaskExec)。代理器会调起任务进 ~ 44 ~

47. 京东大数据技术白皮书 程执行。TaskNode 会监听进程执行结果并反馈给 NameNode,同 时接收任务日志输出流发送到 JDQ。为防止大量任务因为资源不 足而执行失败,节点可设置同时执行任务数(并发数)来避免同 时执行大量任务,另一方面通过 cgroup 实现节点级别和任务基 本的资源隔离,保护机器和 TaskNode 进程。 (1)节点级别资源隔离 节点可设置最大可用 CPU 和内存,设置成功之后该节点上 所有执行的任务使用的资源总和不会超过配置的值。 (2)任务基本资源隔离 单个任务可以单独设置任务要使用的 CPU 和内存。任务执 行过程中使用的资源不会超过配置的值。  Web 管理端 Web 管理端为用户提供了操作界面。用户可通过 UI 便捷地 实现创建、修改、终止、重跑、补录等功能,极大简化用户操作。  日志收集器 日志收集器是一个 JRC 任务,从 JDQ 消费任务日志并写入 Hbase 供管理端查询。 京东大数据分布式调度平台的技术特点包括:  实例 当任务到达预定的执行时间时,会根据任务当时的配置,生 成一个任务实例。该实例实际上是当时任务的一个快照。实例化 时会将任务的时间参数、依赖等信息具体化。当任务需要重新执 ~ 45 ~

48. 京东大数据技术白皮书 行时,会按照当时的实例来执行,保证可重现当时的场景。  分配策略 目前调度系统的 TaskNode 节点已超过 800 台,为了保证能 将任务分配到合理的节点执行,调度系统提供了多种策略,包括 轮询策略、并发数策略、机器资源策略等。调度系统中可以将多 个 TaskNode 节点合并成一个虚拟节点,每个虚拟节点可以单独 配置分配策略。 (1)轮询策略 轮询策略是最简单的策略,将任务轮流分配给虚拟节点中的 TaskNode 节点。 (2)并发数策略 每个 TaskNode 节点可以设置可同时运行的任务数上限,我 们称为并发数。选择该策略时,会根据“并发度=节点上当前在 执行任务数/节点并发数”的结果排序,选择节点并发度小的节 点执行任务。 (3)机器资源策略 TaskNode 节点会将节点目前机器的 CPU 和内存信息上报到 NameNode,选择该策略时,NameNode 会选择一个 CPU 和内存 使用最低的一个 TaskNode 节点来执行任务。  跨周期依赖 任务上下游之间存在依赖,可以理解成为一个有向无环图 (DAG 图) 。目前调度平台可以很灵活地配置任务之间的关系, ~ 46 ~

49. 京东大数据技术白皮书 比如任务 A 执行成功后才能将任务 B 调用起来。任务 A、B 可以 配置为每分钟、每小时、每天、每周、每年等周期运行。调度平 台会自动计算任务 A 的周期执行成功后才将 B 任务调起。为了 更好地理解这个概念,下面我们用个具体的例子进行描述。 示例 1:A 是小时任务,B 是天任务。A 任务 24 个周期全部 执行成功后,B 任务才会被执行; 示例 2:A 是小时任务,B 是天任务。可以指定为检查 A 任 务 5 点到 12 点之间的周期全部执行成功后, B 任务才会被执行; 示例 3:A 任务是天任务,B 任务是小时任务。A 任务当天 (也可以指定为昨天、前天、某一天或某个日期段)执行成功后, B 任务的 24 个周期才可以依次被执行。 示例 4:A 任务是天任务,B 任务是每月运行一次。A 任务 当月(也可以为上月或指定上月 10 号到当月 10 号)周期执行成 功后,B 任务才会被执行。 诸如此类的场景,在调度平台中被称为跨周期依赖。  数据依赖 调度平台还支持检查某个 HDFS 目录是否存在,来做为任务 执行前的判断条件。比如某个部门通过自己的业务系统在 HDFS 产生了一份数据,下游团队需要使用这份数据做离线计算分析, 这可以让业务系统把业务数据写到 HDFS 某目录,同时再生成一 个 ok 或 success(名字可以随意指定)标识文件,文件可允许为 空。然后在调度平台里设置检查 HDFS 对应路径的 ok 或 success ~ 47 ~

50. 京东大数据技术白皮书 文件,如果此文件不存在调度平台会持续检查,一旦发现此文件 生成,下游任务就会马上启动执行。  任务图形化展现技术 如何展示上千个任务的关系以及对任务进行配置是个难点。 调度系统利用 graph 和动态图形位置算法可支持上千个任务在界 面中同时展现。主要包括:1、可以在图中对任务进行编辑、禁 用、启用的各种操作;2、图形化配置技术可以方便直观地看到 整个任务的依赖情况;3、可以对整体任务依赖图进行放大、缩 小、导出图片等功能。用户可以在图形界面完成对于任务的所有 属性和依赖关系的配置。  数据模板 数据模板是指调度系统将相关的抽取数据和推送数据的逻 辑固化到任务模板当中,通过执行固定的脚本,只需要通过简单 的源数据信息和目标数据信息的配置,就能实现不同数据库之间 数据抽取和推送。调度系统会动态获取抽数的参数,执行抽取和 推送数据的逻辑。  脚本仓库和任务动态执行技术 调度系统为 python、shell 和 zip 包等脚本提供包括存储、版 本更新、下载脚本的仓库服务。仓库采用多 hbase 集群保存脚本 信息,可以保证当集群出现问题的时候可以动态地切换到另外一 个集群当中,保证脚本的安全性和可用性。 任务执行的时候调度会动态地下载和更新脚本信息,保证每 ~ 48 ~

51. 京东大数据技术白皮书 个任务执行的脚本都是唯一的,并且是最新的,可有效提高任务 的准确率和安全性。 京东大数据的任务调度和管理已基于 Kubernetes 进行了升 级和改造。升级后可由 Kubernetes 实现资源的统一管理和分配, 提高了服务器的利用率,并实现适应业务需求变化的弹性,能够 实现不同业务间的资源混用,进一步提高跨业务的服务器利用率。 容器包含了运行环境和可执行程序,可以跨平台和主机使用,使 用镜像管理任务代理,能够实现标准化应用发布,方便持续集成 和测试。 2.8 资源监控和运维 管理万台规模的集群,资源监控和运维体系变得非常重要, 京东大数据平台实现了对集群资源的全方位监控,并研发了自动 部署系统和相关的集群运维规范,保障了集群的可靠运行。 2.8.1 统一监控 监控系统是大数据平台的一个重要组成部分。它采集被监控 的物理机器和其上运行的软件系统,分析时间序列数据,产生报 警信号并通知相关系统负责人。 京东大数据平台监控实现了对调度系统、集群任务管理、集 群存储资源、机房网络专线、全集群服务器资源的全方位多维度 统一监控体系,并且实现了电话、短信、邮件以及其它 IM 的通 ~ 49 ~

52. 京东大数据技术白皮书 知模式。 统一监控系统综合考虑功能和稳定性,选择了 Prometheus。 该系统是一个开源的监控报警工具集,我们通过对其进行架构和 功能上的优化,完成平台全方位的监控和告警功能。 统一监控系统的架构如图 19 所示。整个系统分为 4 个部分: 信号采集、信号存储、报警、信息展示。 图 19:统一监控平台架构  信号采集 对于长时间存活的监控目标,按照约定的格式,通过 HTTP 导出信息,系统会按照设定的时间间隔采集信息。对于短时的任 务,需要在退出时将信息交给 PushGateway,由它传递给系统。  信号存储 ~ 50 ~

53. 京东大数据技术白皮书 Prometheus 集群采用树状结构部署。叶子节点会存储一定时 间内的数据。父节点负责查询。数据还会旁路一份给 OpenTSDB, 这是全量数据,用于信息的展示和数据挖掘。  报警 采集后的序列,按照 PromQL 语言进行加工,提取有用信息, 包括聚集、过滤、集合运算、计算分位数、排序等操作。提取后 的报警信息通过指定的接口交给 AlertManager。它对报警信息进 行合并、抑制、分组后再路由给正确的接受者,避免了重复信息 的发送。接受信息的方式可以是电话、邮件、短信和即时通信工 具。  信息展示 监控平台可以在 Prometheus 节点进行简单的信息查询和展 示,也可以在 Grafana 进行全面细致的展示。 我们对于采集的信号进行了分层,如图 20 所示。信号分为 5 层:机器、存储、调度、计算框架、业务。分层的目的是为了 隔离,便于不同层次的独立扩展。当需要扩展的时候,相应的监 控机器按照存储和计算需求模块化部署。物理层包括机器硬件信 息,监控这些资源的使用是否在合理的范围内,同时还监控操作 系统的状态。存储、调度和计算框架是操作系统之上的软件服务, 具体内容如图 20 所示。监控的指标大致包括延时、吞吐、错误 率、饱和程度,以及服务特定的指标。业务层的监控指标由平台 的应用方来决定。此外,对于采集的信号,使用了统一的命名规 ~ 51 ~

54. 京东大数据技术白皮书 范,便于管理和维护。 图 20:信号分层 2.8.2 集群运维 京东大数据平台通过自主研发服务器资产管理系统、自动部 署系统、监控系统,满足了对现有 40000 台以上规模服务器以及 应用软件的高效管理。  服务器资产管理系统 作为整个平台运维的核心模块,维护了大数据平台所有服务 器的配置信息、机房信息、应用角色信息,并提供了对外以页面、 API 形式的增删改查,完成了与各个系统之间的数据打通,避免 了外部系统进行角色变更带来的人为二次维护,保证了数据的一 致性及准确性。  自动部署系统 ~ 52 ~

55. 京东大数据技术白皮书 自动部署系统实现了对大数据平台软件的统一管理工作,从 软件打包、配置文件修改到线上执行一套流程完成,通过与服务 器资产管理系统的打通完成了通过角色的方式进行集群管理,并 且针对集群各个组件研发了针对性的功能管理页面。 自动部署系统通过整合流程管理和开发自定义通用上线模 块,打通了统一服务器控制系统以及实现 P2P+MD5 传输校验、 回调结果验证功能,完成了线上运维的时效性、准确性、安全性 的规范操作。 监控系统通过与自动部署系统、服务器资产管理系统全链路 打通,实现了角色变更告警规则自动修正、告警自动触发预先配 置好的应急处理模块,满足大数据平台的自动化、半自动化运维 效率。 大数据平台建制了完善的运维团队,从数据运维、数据运营、 各组件运维到系统运维均有专业人员负责,在制定标准运维规范 的同时各司其职,保障了整个大数据平台的稳定运行。 ~ 53 ~

56. 京东大数据技术白皮书 3 京东大数据的数据管理 数据管理是构建一个统一的、高可用的、服务完善的数据环 境的基本保障。企业通过建立良好的数据管理体系,完成对数据 资产的管理、优化和利用,建立常态化的数据管控机制,以应对 广泛的数据应用需求,保障数据质量、安全,支撑企业的智能决 策应用。 如图 21 所示,我们从数据架构设计、数据资产管理、数据 安全管理、统一业务指标、数据服务管理等五个方面构建了数据 管理框架,通过组织保障、规范流程、技术创新完成数据管理的 目标。 图 21:数据管理框架 ~ 54 ~

57. 京东大数据技术白皮书 3.1 数据架构设计 3.1.1 数据主题 主题是对业务数据的一种抽象,是在较高层次上对京东信息 系统中的数据进行归纳、整理、综合、归类和分析利用的一个抽 象概念。 面向主题的数据组织和存储包含两个方面:一是根据业务的 特点来抽象出主题。二是根据源系统业务数据的内容确定每个主 题所包含的数据内容。分析得出的数据主题是对分析对象数据的 一个完整并且一致的描述,能刻画各个分析对象所涉及的企业数 据。 我们对京东所有业务数据进行了逐一梳理,得到京东的数据 主题如图 22 所示。 图 22:数据主题域划分 ~ 55 ~

58. 京东大数据技术白皮书 3.1.2 数据模型 数据模型设计要充分考虑性能、可用性和可维护性等。定义 良好的数据模型可以反映业务模式的本质,满足各类业务应用的 分析需要,确保为业务需求提供全面、一致、完整的高质量数据。 京东大数据平台设计的数据模型层次如图 23 所示,数据层次的 说明如表 1 所述。 图 23:数据模型 序 数据架构层 简称 数据层次用途简述 号 次 1 数据缓冲层 BDM 源业务系统数据的快照,保存细节 数据,按天保存 2 基础数据层 FDM 按业务概念组织细节数据,并进行 ~ 56 ~

59. 京东大数据技术白皮书 名称、代码等标准化处理,同时对 表进行标准化处理。 3 通用数据层 GDM 根据京东核心业务价值链按照星型 模型或雪花模型设计方式建设的最 细业务粒度汇总层。在本层需要进 行度量与维度的标准化,保证度量 数据的唯一性。 4 聚合数据层 ADM 根据不同的业务需求采用星型或雪 花型模型设计方法构建的数据汇总 层 5 维度层 DIM 维度是对具体分析对象的分析角 度,维度要具备丰富的属性,历史 信息的可追溯性,对通用的维表要 保持一致性。 表 1:数据模型的层次 通过设计不同的数据层次和数据汇总粒度,可以满足不同的 业务应用的需求,提高数据的可用性。 3.2 数据资产管理 京东作为电商行业的标杆企业,有完整的仓储、物流、营销、 交易、用户、售后、金融等全链路数据,经过多年的沉淀已经形 成了宝贵的资产。数据资产管理的目的,就是强化数据的管理运 ~ 57 ~

60. 京东大数据技术白皮书 营能力,提高数据质量,更好地实现大数据赋能。 数据资产管理从数据资产盘点出发,厘清数据之间的关系, 建立数据资产管控的标准和体系,实现京东全域数据的资产地图, 为数据进一步的应用和挖掘奠定基础。 3.2.1 数据资产盘点 盘活企业数据资产,第一步就需要对已有数据进行集中盘点。 如图 24 所示,通过盘点将散落的数据源信息汇聚到一起,在数 据生产者和数据消费者之间建立一个完整统一的数据地图,标识 出有哪些数据可以消费、如何进行消费。 图 24:数据资产地图 通过资产盘点,建立全公司的数据资产地图,实现所有数据 源的统一登记和展现,消除因为信息不对称导致不同部门之间数 据的重复存储和抓取,共同完善底层数据资源扩充和共享。 ~ 58 ~

61. 京东大数据技术白皮书 3.2.2 元数据管理 数据分析师或 BI 人员每天都要与大量的数据模型打交道, 如果数据模型没有任何的表描述、字段说明,数据使用将变得非 常困难。即使数据开发工程师维护了详尽的表信息,也会存在大 量的解释成本,如果没有辅助工具能够记录这些表的信息,数据 分析师或 BI 人员需要到相应的仓库或集市上去逐个查看表的基 本信息,这将严重影响工作效率。基于以上的考量,京东研发了 自己的元数据管理平台(think),用于管理数据模型的一些基本 信息,方便分析师或 BI 人员快速查询,从而更快了解表的信息, 处理业务的数据需求。 元数据管理平台目前包含了以下的几个功能:模型搜索、模 型基本信息、血缘关系、相关调度任务等。下面将逐个进行介绍。  模型搜索 数据开发工程师在数据仓库或数据集市上开发的模型,其元 数据信息存储在相应的数据库内,每个更新操作都会有相应数据 库操作记录。借助这些的信息,我们可以拿到模型当前的实时状 态,进而将数据信息进行实时维护。通过开放数据模型查询搜索 的功能,用户可以在元数据管理平台上查询搜索符合自己需求的 相关模型。  模型的基本信息 数据分析师或 BI 人员通常希望快速地了解指标模型的名称、 模型的描述、模型的字段以及模型的使用方法。因此在元数据管 ~ 59 ~

62. 京东大数据技术白皮书 理平台上就需要将这些信息展示出来,方便分析师或者 BI 人员 的使用。  血缘关系 一般数据分析师或者 BI 人员所使用的模型都是经过多层加 工后得到的。模型的加工流程、口径、方式成为数据分析师或 BI 人员评估数据模型的有效性、正确性的重要依据。通过血缘关系 图,数据分析师或 BI 人员可以快速地跟踪模型数据的上游、下 游的使用情况,轻松了解数据的来龙去脉。  相关调度任务 目前京东数据仓库或集市上的模型基本都是通过调度任务 处理得到。模型相关的元数据信息,例如分区情况、血缘关系等 等信息,都与调度任务有着密切的关系。在元数据管理平台中提 供了一些辅助信息用于了解和模型关联的调度任务的执行情况。 详细了解相关调度任务的情况则可以通过调度平台直接查看。 除了以上的功能外,元数据管理平台针对内部用户提供了收 藏功能,方便公司内部用户可以快速地定位模型。管理平台同时 提供了评论功能,方便与模型负责人交流模型的具体用法或者对 模型提供相应的反馈信息。针对模型负责人则提供了模型编辑的 功能,可以快速地补充和完善模型的基本信息、描述信息、表结 构说明等等信息。针对集群管理者提供了当前集市新增、修改、 下线等等模型的清单,方便集市管理者跟进模型的变化。 ~ 60 ~

63. 京东大数据技术白皮书 3.2.3 数据质量管理 数据质量是有效分析和利用大数据的前提,是大数据产生跨 区域、跨行业、跨部门价值的保障。引发数据质量问题的原因总 结起来有以下几种。 数据创建产生 如数值为空、数据内容和描述不符、数据精度不足、数据默认 值使用不当和数据录入的校验规则不当等。 数据获取产生 如数据结构错误、数据获取不完整、数据采集点不正确、取数 时点不正确等等。 数据传递产生 如接口数据传递延时、接口数据漏传、网络传输不可靠丢包、 数据传递不及时等。 数据加工产生 如数据清洗和加工逻辑不正确、算法错误导致数据多算、漏算 等。 围绕上述数据质量产生的原因,结合京东信息系统建设的特 点,京东大数据定义数据质量好坏可以从以下几个指标来描述: 及时性:数据平台是否满足业务应用对数据的时间要求。 完整性:数据平台是否包含了业务应用所需要的所有数据;每 份数据的记录是否完整无缺。 ~ 61 ~

64. 京东大数据技术白皮书 准确性:获取的每一份数据是否存在异常或者错误信息;数据 平台在数据的获取、传递、加工过程中是否能保证数据的准确。 可用性:多维度、多渠道获取的数据是否能够易于理解并使 用。 京东大数据自研了数据质量监控平台,实现了对数据质量的 管理。主要功能如下:  数据准确性监控 针对每张数据表,可根据需要定制规则,对数据记录行数和数 据值进行统计,如订单金额等。可与历史的数据值进行比较,通 过自定义的阈值进行告警。比对的周期可以定义为日、周等不同 周期,实现数据准确性的预警。  数据及时性监控 将数据加工任务按照服务的业务线归类,根据服务 SLA 设置 完成时间的阈值。用户可以随时观察任务运行的状态、时间等, 也可以通过设置阈值指标,将告警值通过邮件、短信等方式及时 反馈给运维人员。可根据应用、业务、任务三层监控对象进行告 警配置。  数据完整性监控 针对单行数据记录,可定义空值检测、枚举值范围检测等,可 根据定义的规则进行告警。  数据质量事件 当发生数据质量异常告警后,将生成一个数据质量事件。该事 ~ 62 ~

65. 京东大数据技术白皮书 件由数据运维人员发起,及时查明异常原因并记录在知识库中。 该事件的完成必须经过上级负责人的审批。  数据质量分析报告 用户可根据需要查询数据表的质量运行报告,包括原因、状 态、处理结果等。生成的质量分析报告对于数据质量的改进提供 参考。 除了在技术手段上进行数据质量管理外,在管理制度上我们 也进行了规范。如上游数据库表变更通知、数据质量问题必须当 日进行记录及解决等。 3.2.4 资产管理平台 数据资产管理平台,如图 25 所示,是在大数据平台与业务场 景应用中间建立一个统一的数据管理中台体系,加强对数据使用 机制的管控,让内外部数据能汇聚融合、有序流通。 图 25:数据资产管理平台 ~ 63 ~

66. 京东大数据技术白皮书 数据资产管理平台的目标,主要有两个方面: 第一是资源管理的角度。一方面通过合理的数据使用流程和 机制,帮助企业节省存储和计算资源。另一方面,要丰富外部数 据资源,实现全域数据资产的持续扩充。 第二是数据资产质量提升的角度,通过数据资产管理来提高 数据资产的质量和数据服务质量。 数据资产的质量,是通过持续跟踪数据资产的使用状况,形成 从数据源头到数据消费的整条数据链路,了解数据资产使用的热 点,不断沉淀数据使用过程中的共性问题,规范数据服务流程, 指导数据架构、模型、数据服务接口的优化,提升使用效率,同 时引入数据治理的策略和系统,提升数据资产的质量。 数据服务的质量,主要是从满足应用的角度来监控任务时效、 响应效率、数据一致性等问题。京东通过数据资产运营、SLA 监 控、指标统一管理等组合手段,促进数据的集中共享,保证口径 的统一,让数据消费者减少找数和对数的问题,更多地专注到数 据创新应用中。 数据资产管理平台的实现,能够在数据生产系统和业务应用 场景中间,通过数据源管理、数据治理、数据应用管理几个关键 环节,实现接入流程、开发流程和数据应用规范的统一,从而达 到上述提到的目标。 ~ 64 ~

67. 京东大数据技术白皮书 3.3 统一指标体系 数据指标口径的管理,是数据应用管理范畴里的核心一环。京 东由于业务的快速发展和复杂场景,口径迭代较快,加上数据开 发团队较多,导致相似指标的实现逻辑存在差异,给业务运营和 决策带来挑战。 为了解决指标口径问题,统一信息流建设,为大家提供标准的 数据指标解读和数据应用规范,京东建立了指标统一管理平台。 平台对上百个数据产品的指标口径进行盘点核对,按照主题规范 数据指标口径,明确差异,避免歧义和重复开发,提高数据共享 和一致性。目前已经形成了涵盖交易、流量、财务、用户、供应 链等十多个主题,500+原子指标的标准口径,建立了指标白皮书 和维度白皮书,形成了统一的口径标准。 在统一的指标口径之上,为了便于数据消费者系统化地共享 和使用数据,指标统一管理平台提供了统一的数据服务总线,支 持标准化的数据模型检索、离线和实时 API 服务,以及人货场标 签的共享。 随着数据统一口径标准的推行,避免了各业务部门的重复建 设和计算,对集市计算资源有明显的节省。例如流量明细层模型 使用任务数与推广时相比降幅为 42.17%,任务内存消耗 GDM 层 降幅为 37.16%,整体运行时长降低 20%,效果如图 26 所示。 ~ 65 ~

68. 京东大数据技术白皮书 图 26:统一指标推行后的效果 3.4 数据安全管理 京东大数据平台集中了京东业务运营中的所有数据,其中包 含用户信息、商品成本、利润等信息。因此,数据的安全对于平 台来讲非常重要,针对数据安全保护的措施主要围绕以下几个方 面:  敏感数据集市建设 针对京东数以亿计的用户,京东大数据启动了敏感数据集市 的建设,将涉及用户隐私的数据单独设置了数据存储区域,和其 它的数据存储进行逻辑隔离。 采用了国家认证的密钥算法,对用户隐私信息进行加密存储, 并实现每 1 万行记录换一次密钥的方法。用户隐私信息在数据抽 取时即被加密,保证隐私信息落地即密文。 在用户隐私数据使用上采取严格的审批机制,必须经过用户 需求部门、信息安全部门、大数据部门同时签批才可使用敏感数 据。  IP 黑白名单机制 京东大数据平台通过设立黑白名单机制限制非法 IP 访问集群 ~ 66 ~

69. 京东大数据技术白皮书 的数据资源。用户访问京东大数据平台必须使用我们提供的产品 与工具。在白名单中的用户才会被授权通过,不会被元数据服务 器拒绝,未经授权的产品和用户的数据请求会被拒绝,并将恶意 访问数据资源的行为记录入黑名单中,让安全人员立即采取行动。  员工账号绑定 所有登录大数据平台的用户,无论是使用数据工具还是通过 堡垒机登录,必须使用公司发放的唯一员工账号,并且用户在大 数据平台上每一步操作都将进行日志记录。记录中包含有用户的 操作命令和员工账号,便于发生安全问题时进行追溯和查找。  最小化授权策略 大数据平台权限系统提供了一个和 HDFS 原生权限相匹配适 应的授权模型管理访问策略, 可以将用户的授权细化到文件级 别。用户申请使用数据时,需要详细说明数据的使用场景与用途, 并明确操作权限。权限需要经过上级领导、数据生产者、业务负 责人、集市负责人等多层严格审批。所有授权记录需有据可查, 保证数据最小化的授权与授权可追溯。  数据导出统计 针对所有从平台导出的数据以及集市之间交换的数据进行统 计,制作分析报告,防范风险。  全面的日志审计 所有大数据平台的日志都将保留并定期收集进行审计。  用户保密协议 ~ 67 ~

70. 京东大数据技术白皮书 所有使用大数据平台的用户必须和公司签署数据保密协议才 能被授权使用。 3.5 数据服务管理 京东大数据平台为京东集团的所有业务部门提供数据服务。 目前已服务的用户数超过 6000+。数据服务的种类包括数据集市 服务、数据产品服务等,并通过签署 SLA 服务协议来保证服务质 量。 3.5.1 数据服务协议 为了保证为京东所有的业务用户提供高品质的数据服务,我 们采用 SLA 服务协议,在协议中明确规定数据使用方与数据提 供方的诉求和职责,规定服务内容、服务时间等。通过京东 SLA 服务能够保障京东核心数据准确性、一致性和及时性,为数据驱 动业务发展提供保障。 在确定 SLA 服务协议时,根据数据资产的等级来确定不同的 服务等级,同时根据服务等级的不同,也最终会体现在具体的任 务调度、资源分配上,从而保障 SLA 的达成。 3.5.2 数据集市服务 京东大数据通过自研的“集市管理系统”面向京东业务集市提 供资源分配、资源隔离、集市 SLA、集市健康等全方位的服务。  资源分配 ~ 68 ~

71. 京东大数据技术白皮书 京东业务数据集市计算、存储等资源由京东大数据统一分配 与管理。京东大数据根据对业务集市历史运行数据的量化以及对 业务发展的预测等进行业务数据集市分配资源的评估。建成后的 集市由业务使用部门派专人负责和管理。  资源隔离 通过技术手段实现了业务数据集市的资源隔离,集市可以根 据自身的业务形态建立用户的数据隔离方案。集市管理系统为各 集市间建立完备数据共享渠道,数据在集市间任意流转,并实现 了数据的全生命周期管控。  集市 SLA 保障 大数据保障部门与使用数据集市的业务部门间达成了标准服 务品质保障协议(SLA) ,基于业务形态和数据需求为业务集市定 制生产与开发环境,提供 7*24*365 的高品质数据服务体系。  集市健康 京东大数据为数据业务集市存储能力、计算能力、任务运行等 提供全方位的监控,并基于集市的业务形态量身定做,提供完善 的集市健康指导方案。 3.5.3 数据开发工具 “工欲善其事,必先利其器” ,打造数据开发产品的目的,是 为了给数据研发人员、数据分析人员提供有效便捷的工具,降低 大数据使用难度,提高开发效率,使分析人员更聚焦于业务,也 ~ 69 ~

72. 京东大数据技术白皮书 有利于形成统一的数据服务接口。 数据平台产品包括了数据开发工具、数据可视化工具等。 3.5.3.1 数据开发平台 数据开发平台,是基于京东大数据资源和计算资源打造的一 站式可视化数据开发平台,内置丰富的任务模板,具有完善的数 据管理功能,支持多种常用脚本类型,可高效快捷访问线上大数 据资源,提供海量数据的离线加工分析及数据挖掘的能力。通过 与现有大数据产品无缝衔接,可最大程度上提升用户开发效率, 优化用户体验,提高开发质量,同时也进一步规避了数据可能被 过量下载的风险。  支持脚本在线编写调试,具备全过程监控机制 平台实现了线上资源和脚本的交互,具有可视化、高效、快捷 等特点,用户可手工编写、调试各类产品所需的数据开发脚本, 方便快捷。结合内置的监控单元,实现脚本从编写到调试运行全 过程的监控预警,将问题暴露在开发过程中,从根本上避免数据 脚本对线上生产环境的影响。  集成文件版本管理,强化团队开发功能 依托于集成 GIT 的自动化文件版本管理功能,实现脚本文 件的提交、拉取、比对、合并等管理功能。强化团队开发功能, 达到脚本在团队间的零成本传递,低成本协同,最大化团队开发 效率,让研发工程师、BI 工程师、数据分析师等人群发挥各自长 ~ 70 ~

73. 京东大数据技术白皮书 处,最大化工作价值。  数据结果可视化,实现所见即所得 集成数据可视化和透视功能,实现查询结果快速可视化。通过 图形呈现数据结果,结合数据透视功能,最大程度地满足用户分 析挖掘数据的需求,将平台打造成数据分析人员手中的一把利剑。 3.5.3.2 数据查询·自助提数 数据查询整合 Hive、Presto、Spark 等多种数据查询引擎,支 持用户以 SQL 方式访问大数据平台上的数据,满足用户多样化 的数据需求。借助自助提数,用户可将数据查询结果生成定时任 务,通过京东内部云平台进行推送和共享,降低了用户查询和提 取数据的成本。 数据查询和自助提数可以与“京东分析师”等其他大数据产品 无缝衔接,实现数据从查询、分析、展示的一站式服务,简化用 户操作,提升工作决策效率。 3.5.3.3 京东分析师 JA “京东分析师”是京东大数据平台的数据可视化产品。 “京东 分析师”支持多种数据可视化图形、支持 MySQL、Oracle、Presto 多种数据源接入、支持邮件、手机 APP 等多种数据展现渠道。 “京东分析师”为用户提供数据分析、数据挖掘、数据可视化 等数据服务。主要用户为数据运营人员、数据决策人员、数据分 ~ 71 ~

74. 京东大数据技术白皮书 析师,以及对数据可视化有快速实现需求的人群。 用户仅通过简单的拖拽即可实现各类主题报表的开发。用户 可以将数据报表通过邮件、手机 APP 等渠道分享给其他数据使 用者,实现数据价值可视化。 3.5.3.4 京东指南针 “京东指南针”是一个深度洞察数据的 OLAP 产品,可以分 析海量的任意维度组合数据。用户可灵活定制主题、维度、指标、 字段等信息。“京东指南针”支持在任意维度上洞察指标数据, 并且支持在维度上进行下钻、上卷、快速切片、切块、排序、过 滤等操作。 “京东指南针”具有简单易用,数据分析过程所见所得等特 点,满足海量数据的多维分析需求,为数据分析师团队提供有力 的平台保障。 除常见表格外, “京东指南针”还支持多种常用图 形的转化,让多维分析不止于表格明细,让可视化助力多维分析, 深度洞察数据背后的故事。 3.5.3.5 数据标注系统 人工智能算法需要大量的数据进行训练,这些数据必须包含 可被算法识别的数据特征标签,数据标注即给相关应用场景获取 的数据进行算法需要的特征标识,比如标注人脸的位置、体态、 动作等。可见,高质量的标注数据决定了算法模型的效果。 ~ 72 ~

75. 京东大数据技术白皮书 数据标注的类型可分为: 分类标注:就是我们常见的打标签。一般是从既定的标签中选 择数据对应的标签。一张图就可以有很多分类/标签:成人、女 性、黄种人、长发等。对于文字,可以标注主语、谓语、宾语, 名词、动词等。一般标注对象为文本、图像、语音、视频,主要 应用于脸龄识别、情绪识别、性别识别等。 标框标注:机器视觉中的标框标注,就是框选要检测的对象。 一般标注对象为图像,主要应用于人脸识别、物品识别等。 区域标注:相比于标框标注,区域标注要求更加精确,仅边缘 可以是柔性的,如自动驾驶中的道路识别。一般标注对象为图像, 主要应用于自动驾驶等。 描点标注:一些对于特征要求细致的应用中常常需要描点标 注,如人脸识别、骨骼识别等。一般标注对象为图像,主要应用 于人脸识别等。 标注的类型除了上面几种常见类型,还有很多个性化的需求, 根据不同的需求进行不同的标注。 如图 27 所示,数据标注系统是机器学习的数据支撑系统,主 要的工作任务是对不同来源的数据按照应用场景不同进行数据 标签的加注。 ~ 73 ~

76. 京东大数据技术白皮书 图 27:数据标注平台 标注系统包括数据采集、数据标注服务、数据标注管理、标注 任务派单等模块。  数据采集 主要是获得标注数据,采集文本或者视频、语 音数据、图像数据等。  数据标注服务 能够实现数据标注过程管理,标注任务具 体操作包括任务派单模块、数据规范规则模块,以及验收模 块。  数据标注管理 集中管理数据标注完成之后的标注成果, 核心任务交付和下一步质量迭代,从标注需求生命周期来管 理数据使用。  数据安全模块 主要解决数据交付过程中的安全问题,按 相关的权限集中保护数据使用和加固数据环境。 ~ 74 ~

77. 京东大数据技术白皮书 4 京东大数据的数据产品 京东大数据的数据应用体现在业务的各个环节,如采销、搜 索、推荐、广告、供应链、金融、物流等。数据服务于京东内部 业务人员,可用于实现个性化的搜索和推荐、极致的用户体验、 精准的广告投放、快捷的物流服务等;服务于商家,可用于指导 商家的数据化运营,协助其优化营销策略,提升店铺销售额。我 们打造了服务于商家和内部运营人员的数据产品,提供更方便快 捷的大数据应用服务。 4.1 京东商智 京东商智是京东向第三方商家提供数据服务的产品。京东商 智包含了 PC、APP、微信、手 Q、M 端五大渠道的数据,从行业 及店铺两个视角,涵盖销量、流量、用户、商品、行业、竞品六 个维度进行数据洞察,可以有效帮助商家实现精准化决策,提升 精细化运营效率。商智还提供购物车营销、精准客户营销等工具, 便于商家更加及时方便地操作。 京东商智研发了实时洞察、交易分析、商品分析、供应链分析、 流量分析、行业分析、消费者分析、营销分析八大功能模块,实 现了对实时销售追踪、经营诊断预警、库存监控警报、营销评估 365、消费者 360°、商品 360°六大场景的全面覆盖。目前,京 东商智品牌版已经覆盖了 100 多个行业、8000 个以上类目,为 1 ~ 75 ~

78. 京东大数据技术白皮书 万多家品牌商、供应商提供了精准的数据运营和全面的营销分析 服务。 4.2 智能营销 智能营销产品是一款面向客户全生命周期的个性化营销工具, 如图 28 所示。智能营销产品通过分析和挖掘客户的浏览、交易 等数据,确定客户所处的全生命周期阶段,预测用户对各种商品 (在品类、sku 等各种维度)的促销响应,基于预测结果构建营 销场景进行个性化营销,跟踪营销效果并基于数据反馈进行循环 预测,构成营销闭环。智能营销产品在用户预测和促销过程中都 做到了个性化、智能化、自动化,能够显著提升促销效果。在实 际的应用中,促销的效率较非智能化个性化的系统提升 200%以 上。 图 28:智能营销产品 智能营销产品采用了大数据技术预测用户流失、预测用户上 ~ 76 ~

79. 京东大数据技术白皮书 行、预测用户对促销的响应程度,并结合全程的准实时数据跟踪, 做到针对每个个体用户的个性化营销。产品不仅提升了用户体验, 而且帮助运营方和商户选择合适的用户进行营销活动,增强营销 效果,提升产品销量。 4.3 数据管家 数据管家是专门为一线业务运营人员及管理层打造的一款提 升运营效率和决策效率的数据化运营产品。 数据管家具备数据全面、支持个性化管理、支持预测诊断三个 特点。数据方面整合了订单交易、物流、售后等多个业务单元的 相关指标,为采销和运营提供一站式全链条数据展现服务。维度 方面覆盖 SKU、店铺、品类、品牌、区域等,便于业务人员从不 同维度对比分析数据指标,探索数据变化背后的深层次原因。数 据管家在权限设计上引入岗位角色,建立 SKU、店铺与岗位之间 的关系以及人员到岗位的映射,以适应人员的调整和变动。 数据管家支持业务人员设置个人业绩目标,每日销售数据匹 配相对应的目标值即可让业务人员随时掌控任务达成进度。对于 名下运营的 SKU 或店铺数量众多的情况,提供了自定义分组功 能,对于重要的 SKU 和店铺可以设置重点关注,第一时间掌控 数据指标变化信息,并可以通过邮件自动发送预警通知,实现高 效管理。 数据管家利用预测模型对重点指标进行预测,让业务人员对 ~ 77 ~

80. 京东大数据技术白皮书 自己的数据变化提前感知,提前作出判断和决策。基于收入贡献、 成长贡献、服务能力等维度建立的店铺诊断、商品诊断、品类诊 断等健康诊断体系是运营人员的得力助手,阶段性的诊断报告是 运营人员日常巡店和店铺运营指导工作的重要参考。 为便于业务人员和管理层随时随地掌握数据,数据管家也提 供移动端的数据展示,为用户提供更方便的使用方式。 4.4 祖冲之 零售行业的创新发展已经进入到了一个新的阶段,线上零售 的流量红利正在逐步消失,线下零售的变革也到了一个关键时期, 利用数字化技术打通线上和线下的各个环节,实现实体与虚拟的 深度融合,尽可能为消费者提供差异化的、满足个体需求和用户 体验的商品及服务是零售发展的新方向。 祖冲之产品就是在这样的背景下产生的,它的定位是通过线 上、线下各类数据的沉淀、融合、洞察,为线下店业务提供数字 化、精细化的运营指导。如图 29 所示,祖冲之能够为商家提供 从选址、开店、引流、商品货架规划等全方位的指导。 ~ 78 ~

81. 京东大数据技术白皮书 图 29:祖冲之数据维度和功能 品牌商在拓展线下业务之前必然要关注行业的发展情况,比 如同类品牌的表现、竞争环境等。祖冲之产品通过数据洞察为品 牌提供行业分析功能,通过该功能可以帮忙品牌商清晰了解自身 在行业所处地位、优势、不足及线上线下竞争态势,帮助品牌商 制定合理的线下市场拓展策略。祖冲之提供选址分析功能以帮助 品牌商确定线下业务落地范围。选址分析首先从全国范围提供网 络布局指导,从区域品牌消费差异到市场容量,筛选目标区域和 城市,然后聚焦城市商圈,从人口规模、消费能力、交通状况、 周边设施等多个维度对不同商圈进行评级,帮助品牌筛选目标地 址。 用户引流方面,祖冲之提供目标用户选取功能,辅助门店快速 获取核心用户。基于线上的消费信息对店铺周边一定范围内的用 户画像分析指导线下门店开展客户引流工作。有了合适的目标人 群信息,祖冲之提供的商品筛选功能可以针对目标人群进行精准 营销。 商品货架的陈列是用户购物转化率的重要因素。祖冲之产品 已实现的功能中包括门店热图分析和货架陈列分析。通过店内用 户关注和购买的商品分析,提供优化货架建议和货架内布局陈列 建议,并结合线上热销商品数据提供上新建议。 结合京东强大的供应链管理能力,祖冲之产品未来将嫁接线 上供应链服务能力到线下门店业务,包括销售预测、库存预警、 ~ 79 ~

82. 京东大数据技术白皮书 自动补货等,降低业务成本,提升品牌资金使用效率,成为线下 门店经营的“超级大脑” 。 5 京东大数据的应用场景 5.1 营销领域 作为实体经济和数字经济深度融合的创新型企业,京东拥有 电商全产业链及高价值的数据,这些数据覆盖了用户从浏览、下 单、配送到售后的完整过程。京东将目前的商品推荐扩展到精准 个性化、实时化、全覆盖、平台自学习等层次,即使是第一次来 京东购物的用户,系统也能根据用户的地域、浏览痕迹和行为, 实时为用户打造专属页面,推荐个性化的产品。 大数据智能不仅实现了千人千面的用户个性化推荐,同时在 商业分析和精准投放等领域也在全方位赋能各品牌商家。京东通 过大数据的分析挖掘,帮助商家实现商业洞察,发现市场契机, 并挖掘精准营销的机会,然后借助 AI 驱动的智能营销工具进行 高精准度的用户触达。京东正在打造无界流量生态,在帮助品牌 方打通数据流的同时,全面开放技术,帮助商家打造全域无界营 销的生态。 在智能广告投放方面京东利用 AI 和大数据技术,为商家提供 了很多智能化的投放工具,基于大数据算法帮助品牌广告主实现 一键批量投放的全网智能营销工具。可以实现营销场景的智能选 ~ 80 ~

83. 京东大数据技术白皮书 择、预算的智能分配,商品的智能投放以及竞价流量的智能出价, 大大提升了广告主的投放效率。 而在数据开放和智能数据分析方面,广告主可以实现受众的 定制化挖掘与生意的定制化分析。无论是潜在客户的洞察、获取 还是老客户的交叉分析、流失预测都可以实现。与此同时,也会 引入 ISV 合作伙伴,用更加多元化的分析能力赋能品牌与商家。 在电商领域,推荐的价值在于挖掘用户潜在购买需求,缩短用 户到商品的距离,提升用户的购物体验。用户从产生购买意向, 到购买决策,直至最后下单的整个过程,在购物链路的任一个节 点,推荐产品都能在一定程度上帮助用户进行决策。 5.2 物流领域 随着大数据时代的到来,大数据和人工智能技术加快向物流 业渗透,通过海量的物流数据挖掘新的商业价值。在大数据技术 的支持下,人与物流设备之间、设备与设备之间更加密切地结合, 形成一个功能庞大的智能物流系统,实现物流管理与物流作业的 自动化与智能化。 在“互联网+”的大环境下,智能物流成为业界的一致追求, 智能物流就是以大数据处理技术为基础,利用软件系统把人和设 备更好地结合起来,不断提升智能化水平,让人和设备能够发挥 各自的优势,达到系统最佳的状态,并且不断进化。以大数据为 基础的智能物流,在效率、成本、用户体验等方面具有极大的优 ~ 81 ~

84. 京东大数据技术白皮书 势,也将从根本上改变目前物流运行的模式。合理地运用大数据 技术,将对物流企业的管理与决策、客户关系维护、资源配置等 方面起到积极的作用。 在终端配送规划阶段,京东的大数据与人工智能通过全网干 支线路由规划,科学布局分拣中心,实现全链条渠道下沉、全网 点高效衔接;通过车辆路径规划,保障城配时效精准,多车型成 本最优,保证站点高效履约,配送路径最优;通过站点路区最优 规划,保障路区产能科学平衡。 5.3 供应链领域 京东拥有中国最先进的零售供应链,借助自身极具价值的大 数据和人工智能技术,一直致力于通过数据驱动、技术拉动,实 现整个供应链的创新、升级和改造。京东目前已经实现了通过大 数据和人工智能的技术来优化库存,实现自动补货、自动定价。 京东的智能定价系统正在逐步取代手工定价。京东零售供应链系 统依托大数据平台基础,通过大数据集成采销知识、经验和思维 决策,应用人工智能深度学习算法驱动选品、定价、采购、结算 等各个供应链环节,为业务提供全供应链的智能解决方案。这种 动态定价工具,借助大数据模型权衡季节性、生命周期、友商价 格等多重因素,从销售额和毛利等多个方面衡量商品定价调整的 空间,做到更加缜密有效的商品价格设定。京东将近一半以上的 SKU,完全由人工智能的方式进行销售的预测和采购。补货和库 ~ 82 ~

85. 京东大数据技术白皮书 存通过非常复杂的三级物流网络管理,实现了 530 万个 SKU 的 库存周转天数仅有 30 多天。京东目前 500 多个仓库的数百万种 商品,已有将近 60%的订单通过人工智能技术实现了自动管理。 此外,京东大数据还能有效提高行业和社会的效率和品质。对 于品牌商和供应商来说,京东将销售数据和消费者数据的分析转 化为对消费趋势的把握和前瞻,通过大数据精准预测产品的销量, 指导厂商实现智能排产,提升市场竞争力。同时京东也在积极与 政府合作,将京东高质量、全链条的数据资源与线下数据形成有 效互补,对宏观经济预测、政府执政策略提供有益参考,输出京 东的大数据技术能力,创造更多的社会价值。 销售预测与补货:预知市场,保证现货率 供应链管理最难突破的就是计划管理。能否善用数据预测消 费者动向,直接关系到供应链的反应速度。一份好的供应链计划 需要经验丰富的采销管理人员,根据自己对历史数据和未来数据 的理解确定结果。京东有几百万的 SKU 和几百个仓储物流中心, 如果单纯靠人工进行 SKU 维度的采购计划将会是一个巨大的挑 战。 电商企业的供应链系统需要根据以往大量的用户数据、销售 数据、采购数据、补货数据等,经过软件的数据清洗、数据建模 等过程,并采用人工智能的相关算法,进行未来销量预测,并依 此预测进行全国仓库的自动补货,全自动地驱动仓间调拨和转运, 系统能够在消费者还没有下单前就提前将商品从供应商那里完 ~ 83 ~

86. 京东大数据技术白皮书 成采购,并第一时间调拨到离消费者最近的仓库。 库存健康:优化库存,处理滞销品 京东的库存健康系统每天通过大数据和 AI 技术,提前感知到 商品未来的库存周转会如何,提前驱动内配、采购和退货,通过 技术驱动库存管理更加高效,零售更加智能。 京东零售平台借助大数据优化库存结构和降低库存成本,通 过“全库存模拟平台”模拟近半年的库存状态,并根据算法进行 数据“纠察”。通过大数据分析查找不健康的库存商品,并自动 发起退货或给出相应的促销建议。智能监控库存健康状态,提前 预测滞销库存及未来某个时间点的库存周转和现货率,从而做到 提前预测风险和收益。库存健康技术覆盖多个系统,是一个以提 升库存周转率为核心目标的智能系统群。 智能选品与定价:合理定价,收益最大化 京东电商管理平台自动抓取全网的商品数据,以此监控本平 台商品价格有效性,根据毛利要求和库存要求,提供自动调价功 能和建议,还可以提供动态定价的工具,同时也实时提供价格的 预期收益、价格的风险控制等强大功能。 供应商协同:深度整合,打通产业链 大数据下的供应商协同更加高效。电商平台可与供应商进行 全方位地协同与配合,在计划、协同与补货方面全面合作,形成 产业链发展共同体,打通供应链上下游。 ~ 84 ~

87. 京东大数据技术白皮书 5.4 智能零售 2017 年可谓是零售行业变革的一年,大数据、人工智能和物 联网等技术结合传统零售激发了层出不穷的各种零售创新,京东 也高举“无界零售”的大旗,陆续推出了无人便利店、无人超市、 京东之家、7fresh 生鲜超市等无界零售新业态,这些零售模式创 新是基于京东强大的互联网基因和完善的供应链系统,将线上种 类丰富的商品汇集于线下的零售创新体验店。和传统零售门店不 同的是,它们能够基于对大数据的深度挖掘,实现消费者行为分 析和店内智能化选品,不仅带来了效率的提升,也给客户带来了 全新的用户体验,颠覆了传统零售业态的局限,实现了线上线下 的融合。 零售模式除了业态创新,还需要通过技术来实现零售运营和 体验创新。京东同时也发布了低造价、可模块化组装的智能门店 科技解决方案。京东智能门店解决方案由智能货架、智能感知摄 像头、智能称重结算台、智能广告牌、Take 系统、智能无人货柜、 电子价签、人脸支付等多个模块组成,实现知人、知货、知场景 的购物体验。智能门店科技解决方案不仅能够实现“无人店”的 体验效果,更重要的是能够针对现有的线下实体店铺进行低成本 的改造,实现智能化。这套解决方案不仅应用于全国的无人便利 店、无人超市、京东之家、7fresh 生鲜超市、京东便利店、京东 专卖店等,其独有的模块化组装模式,还可扩展到超市、便利店、 加油站、机场、酒店、购物中心等各种应用场景。 ~ 85 ~

88. 京东大数据技术白皮书 5.5 金融业务创新 京东数科充分利用京东集团超 3 亿活跃用户的交易数据及几 十万供应商与合作伙伴数据,通过统一的大数据平台实现数据集 中,确保京东数字科技集团各级部门均可在保证数据隐私和安全 的前提下共享数据,充分发挥数据作为企业重要资产的业务价值。 在集中整合分散在供应链金融、人人贷、保理等各个业务系统 中的数据后,京东数科建立了客户、产品的统一视图,有效促进 业务的集成和协作,并为企业级分析、交叉销售提供基础。数科 集团业务人员可以基于这些数据进行多维分析和数据挖掘,为金 融业务创新(客户服务创新、产品创新等)创造有利条件。 同时数据平台对数据的集中管理,为管理分析、挖掘预测等系 统提供了一致的数据基础,改变了现有系统数据来源多、数据处 理复杂的现状,实现应用系统建设模式的转变,提升相关 IT 系 统的建设和运行效率。 通过京东数科大数据的分析和挖掘,不仅完成了对金融业务 布局的需求,同时,京东数科进一步实现了风控体系、支付体系、 投研体系、投顾体系等一整套金融底层业务体系建设。底层业务 体系的完备,也为未来的业务方向提供了有力的数据支撑。 随着大数据、人工智能、商业智能等技术的应用,京东数科正 在开启对传统金融行业的形态重构,推出了一系列金融产品和服 务。比如基于消费者杠杆率并不高的现状推出白条等互联网消费 金融产品,基于中小企业融资难推出京保贝、京小贷和动产融资 ~ 86 ~

89. 京东大数据技术白皮书 产品,基于消费升级的势能推出众筹业务、私募股权融资和众创 生态圈业务等创业服务生态。 金融的重点和难点在于风控。随着大数据的普及应用,大数据 风控的概念应运而生。它是指通过运用大数据构建模型的方法对 借款方进行风险控制和风险提示。大数据风控通过采集大量借款 企业的各项指标进行数据建模分析,不仅提高了效率,还使统计 结果变得更加有效。 京东数科的风险控制系统由四大模型组成:风险控制模型、量 化操作模型、用户评估模型和信用调查模型。该系统的效率较传 统模型提高了超过十倍,并且可以实现对不同个体的差异化风险 定价。 京东数科的风控体系不仅在自身产品和服务上得以应用,更 是实现了对外输出,帮助银行、企业等传统金融与非金融机构降 低成本提高效率。比如“京保贝 2.0”采用动态风控和动态授信 策略,可以为客户提供全贸易流程的资金支持,实现可融资额度 实时更新和管理。基于供应链运营过程中呈现的数据特征,将风 控点布局到贸易状态中的每次流转环节,将风控下沉到每一笔应 收账款。“京保贝 2.0”不仅可用于京东数科自己的客户,还能 够实现与外部核心企业的对接,帮助外部企业建立属于自己的供 应链金融能力。 通过新型大数据风控以及流程优化等方法, “京保贝”将传统 银行需要大量人力服务的业务转变成无需人工审核的线上自动 ~ 87 ~

90. 京东大数据技术白皮书 化放贷。“京保贝”已服务了几千家京东商城的供应商,单笔融 资从万元到上亿元不等,满足了不同规模企业的融资需求,参与 融资的客户贸易量增长超过 200%。且坏账率不足万分之五,远 远低于业内平均坏账率水平。 5.6 时尚创新 随着 AI 技术的日益成熟,应用领域不断扩展,人工智能正高 歌猛进地渗入各行各业,时尚产业也在这场科技浪潮中,经历着 一场自下而上的变革,以用户需求数据为出发点的时尚设计和搭 配将成为引领潮流的新方向。在时尚与科技的联姻中,京东利用 人工智能和大数据技术在时尚领域打造新的产品和服务形态。 数据是推动人工智能发展的基础,作为中国最大的自营电商, 京东拥有海量的电商服饰数据、用户行为偏好数据等,在科技引 领时尚的变革中具备着先天的优势。基于时尚大数据,京东正在 打造以智能搭配算法为驱动的个性化服饰搭配服务。京东商城中 有丰富的服饰 SKU 图片以及服饰标签数据,为服饰属性标注、 关键点定位和服饰搜索提供了高质量的数据集。京东用户的用户 画像,线上消费者行为数据,以及用户评价数据,使智能搭配能 够更加精准地定位用户需求,实现个性化推荐。智能搭配服务满 足了用户的穿搭需求,同时也提升了线上商家的运营效率。此外, 京东通过与品牌的联合,打破线上线下的数据壁垒,将电商数据 与线下实体零售数据融合,搭建线上线下一体的时尚大数据,使 ~ 88 ~

91. 京东大数据技术白皮书 用人工智能技术对人的洞察更加精确,时尚数据链更加完整,从 而使智能算法能够应用于更加多元化的场景。 京东的时尚技术不仅限于服装零售行业的产业赋能,同时也 会应用到前端的设计领域,为时尚创作者提供更多的灵感和可能 性。以人工智能算法为核心驱动力,通过数据精准识别用户穿衣 风格、时尚品味、穿搭需求等,从用户角度洞察时尚,发现流行 趋势。时尚搭配算法能够建立用户偏好数据库,为用户精准推荐 搭配,创造个性化穿搭风格,通过线上线下商品数据、用户数据 的实时反馈,对时尚趋势进行动态监测,从而实现对潮流方向的 预判,为品牌、设计师等生态合作伙伴提供指导。在科技的助力 之下,未来时尚设计会更加精准。 5.7 人工智能 众所周知,人工智能技术的发展依赖于数据以及算法。京东大 数据平台从 2014 年开始人工智能相关技术的研发。经过多年的 积累,京东大数据平台在数据的运用能力,大规模机器学习的计 算优化,以及机器视觉的算法方面都取得了不错的成绩,并将这 些成果转化为实际的生产力运用在京东的内部场景中。 在电商场景中,图像作为连接用户和商品信息媒介起到了非 常重要的作用。用户需要通过商品主图,商品详情图去了解商品 的特点,而商家则需要通过这些图像有针对性地向用户展现商品 的特点。京东大数据团队围绕图像数据打造了一整套解决方案, ~ 89 ~

92. 京东大数据技术白皮书 帮助京东优化用户体验,提升商家的经营效率。  图像搜索 与标品不同,非标品往往不能很好地通过文本进行描述。为了 解决这个问题,京东大数据团队研发了基于图像特征的搜索系统。 整个图像搜索系统由特征抽取和特征检索两个核心模块构成。海 量的图像数据一方面能更好地提升模型效果,另一方面给算法训 练、算法应用也带来了挑战。在特征抽取模块中,我们需要在海 量的商品主图和晒单图上进行深度学习训练。在加速模型的训练 速度方面,京东大数据的机器学习平台起到了至关重要的作用。 利用分布式训练技术,我们将原来数周甚至数月的训练时间缩短 到了数天。 特征检索模块是指从特征库中检索特定的特征向量。在数据 规模不大的情况下,整个特征库在高维空间分布得比较稀疏,因 此检索难度并不大,当特征数据库规模上升到数十亿,在整个特 征空间中的样本点也越来越多,样本点之间的距离也会变得更近, 检索难度也会随之提高很多。为了解决这些问题,特征检索模块 引入了特征压缩、定点化等一系列技术。 到目前为止,京东的图像搜索技术已经应用在京东手机 APP 的拍照购业务。  图像审核 京东一直以来对于平台上售卖的商品的图像质量都有非常严 格的要求。随着数据量的迅速增加,完全依靠人工的审核机制已 ~ 90 ~

93. 京东大数据技术白皮书 经无法满足要求。京东大数据在 2015 年推出了全方位的图像审 核解决方案。整个解决方案覆盖了京东所有 SKU 的相关图像数 据,并做到对于增量数据进行实时自动化审核,在有新的模型之 后对历史数据实现 T+1 的全量审核。该图像审核方案包括:  属性识别:利用 SKU 的图像数据矫正 SKU 的属性数据, 防止商家漏填、多填、错填,提升依赖属性数据的下游 业务。  法律合规:过滤不符合国家法律法规的图片,如涉黄图 片、血腥暴力图片等。  视觉合规:检测图像中如主体不清楚、图文不一致、盗 用 logo 等情况。  文字识别 京东的文字识别系统历经了三年的研发,到目前为止京东的 文字识别服务覆盖了身份证、银行卡、打印体、出租车发票、增 值税发票、营业执照等 6 大场景,应用于商品详情图的广告用语 合规、用户身份认证等 30 个项目中,每天请求次数达上千万。 京东的文字识别系统中的检测模块和识别模块都采用了端到 端的深度学习算法。与其他的深度学习任务不同,文字识别需要 学习上万个符号,上百种不同的字体。几乎不可能完全依赖人工 标注数据。大数据团队自研的数据生成算法很好地解决了这一问 题。 与其他的图像类算法不同,文字识别服务采用了长短记忆网 ~ 91 ~

94. 京东大数据技术白皮书 络。为了将一张包含上百行文字的商品详情图的识别时间缩短到 毫秒级别,大数据团队对机器学习平台的推理工具进行了大量涉 及硬件、驱动和软件层面的优化。  人脸识别 人脸识别被广泛用于人脸门禁以及其他商业、安保设备的身 份验证、APP 人脸识别登录、刷脸支付等业务。大数据团队开发 了基于深度学习技术的人脸识别及相关应用。人脸识别分为人脸 检测与人脸识别两个阶段。在人脸检测阶段,可对人脸关键点、 性别、年龄、表情、穿戴等等一系列属性进行精准识别,各项准 确率均可达 95%以上。在人脸识别阶段,对符合人脸识别质量判 断条件(包括正常或有模糊、遮挡、倾斜角度的人脸图像)的人 脸,通过人脸关键点进行对齐,然后使用深度学习模型提取特征 值,与数据库中的人脸特征值进行搜索和比对。大数据团队的人 脸识别模型, 可在 1:100 万量级特征库搜索中, 做到 top1 召回 95% 以上。 我们还开发了一套功能完备的 SDK,可以根据客户不同设备 提供相适应的解决方案,目前已在京东业务中广泛应用。人脸识 别技术在新一代的智能零售终端如智能门店中能够提升精准销 售能力,通过摄像头、大屏幕、广告牌等设备实现商品推荐、客 户引导等功能。 ~ 92 ~

95. 京东大数据技术白皮书 6 京东大数据的合作生态 我们始终秉承“合作共赢”的原则,希望和政府、社会组织、 企业等共建大数据生态,学习外部优秀经验的同时,输出京东大 数据的技术能力和数据价值。 我们和 Intel、Nvidia 等公司展开了广泛的合作。京东大数据 部和 Intel 成立了“京东英特尔数据计算联合实验室”,利用英特 尔在可扩展计算、持久内存、网络和开源软件优化方面的平台进 行深度的大数据技术合作研究,诸如 Spark on Kubernetes 及其相 关的框架和工具套件、存储和计算分离、Spark 工作负载优化等。 双方的合作也有利于推动开源社区和整个行业在大数据技术领 域的进步。同时,京东大数据部和 Intel 在物联网、边缘计算等方 面的合作也在展开。 我们同样在产学研的合作上也做了很好的实践。我们邀请清 华大学、北京邮电大学、中科院软件研究所等高校和科研机构参 与大数据技术的研究,在预测算法、平台性能优化方法等方面展 开合作,联合申报国家大数据领域的科研项目,充分发挥各自的 优势,为国家大数据行业的发展贡献力量。2017 年,京东、联想 集团、北京邮电大学联合申请的“大数据智能管理与分析技术” 国家地方联合研究中心获国家批复,研究中心将大数据管理与分 析技术工程化、产品化,推动科研成果的产业化,促进国家大数 据技术的进步。 ~ 93 ~

96. 京东大数据技术白皮书 京东也在积极地利用大数据服务社会。京东联合中国物流与 采购联合会发布了中国电商物流指数,能够快速、准确反映电商 物流运行状况和变化趋势,为社会各界提供详实、客观的研究资 料。京东与商务部市场运行和消费促进司签署《消费数据开发应 用合作备忘录》 ,双方将发挥各自优势,在市场监测、商贸统计、 数据开发、消费研究等领域开展合作,探索开发消费领域数据, 为政府决策、企业经营、行业发展提供服务支持。类似的例子还 有很多。 以云为基础设施,大数据技术平台可以用 PaaS 的形式提供给 外部使用。基于大数据形成的决策洞察力,可以赋能给企业、商 家及用户,京东商智、祖冲之等数据产品已经为京东电商生态内 的商家和用户提供了数据服务。大数据和 IOT、AI 等技术融合 打造的智能零售科技成果,为线下零售生态注入了新的活力。智 能供应链平台实现了库存管理、销量预测等算法模型,结合京东 的供应链数据,可以为供应商、品牌商等提供强大的运营决策能 力,也可以为外部客户提供领先的供应链技术平台。 京东大数据期望能以技术和数据,为大数据行业的生态建设 贡献更多的力量。 ~ 94 ~

97. 京东大数据技术白皮书 7 京东大数据的特点 7.1 高可用和高性能  采用自研 Yarn Federation 技术实现资源按需无限扩展 京东大数据平台的离线计算基于 Hadoop 分布式技术构建。随 着集群规模的迅速扩张, 基于 Yarn 的资源管理已出现性能瓶颈, 无法满 足规 模扩 展的要 求。 京东 大数据 平台 部自 研了 Yarn Federation 技术,如图 30 所示,解决目前开源版本的 Yarn 带来 的性能瓶颈。通过 Yarn Federation 技术打破了 Hadoop 分布式系 统间物理隔离,数据可以在多个 Hadoop 系统间任意流转,最终 突破 Hadoop 分布式系统规模限制,实现了资源按需扩展。 ~ 95 ~

98. 京东大数据技术白皮书 图 30:京东 Yarn Federation 技术架构图  采用自研大数据虚拟化容器技术实现计算资源共享 Kubernetes 是 Google 开源的容器集群管理系统。它构建在 Docker 技术之上,为 Docker 容器提供资源调度、部署运行、服 务发现、扩容缩容等功能。目前 Kubernetes 系统在京东集团得到 了广泛的应用。 京东大数据平台自研了“大数据虚拟化容器”技术,如图 31 所示,打通了 Hadoop 与 Kubernetes 系统之间的技术壁垒,实现 了 Hadoop 与 Kubernetes 系统混合部署与资源共享。 京东大数据平台的实时计算、Spark 计算、HBase 等核心数据 服务可以同时运行在 Hadoop 与 Kubernetes 系统上,并实现了资 ~ 96 ~

99. 京东大数据技术白皮书 源共享、数据任意切换,大幅提高了大数据平台的运算能力与整 体性能。 图 31:京东大数据虚拟化容器技术架构图  采用自研 Vitual FileSystem 技术实现计算存储分离 一个 Hadoop 分布式系统可通过减少不必要的数据迁移和远 程数据访问来提升计算效率。在实践中,当京东网络环境全面升 级为万兆后,网络带宽已经不是稀缺资源,磁盘 IO 的读写效率 反而成为了提升计算效率的瓶颈。计算和存储这两者之间便会随 之产生木桶效应,造成集群的资源浪费。 通过对资源 Vitual FileSystem 技术的研究,京东大数据平台自 ~ 97 ~

100. 京东大数据技术白皮书 主研发了智能存储策略、虚拟命名空间、资源隔离、调度系统路 由器、存储系统路由器等创新技术,实现了存储计算分离,优化 CPU、IO、负载、磁盘容量、网络等策略,降低了集群 IO 和负 载,使得 Hadoop 分布式系统的计算能力提升了 200%以上。 7.2 一站式服务平台 京东大数据平台是一站式的服务平台,主要体现在:  完整的数据链条 京东大数据平台的数据覆盖了用户、商品、采销、仓储、配送、 订单、售后等电商全产业链数据,包含了用户从浏览、下单、配 送到客服的完整过程,具有京东最完整的数据链条。  完善的技术体系 京东大数据平台建立了完善的技术体系。大数据平台支持结 构化、半结构化、非结构化数据形态的数据采集和存储,具有高 性能的离线计算、实时计算和机器学习环境,实现了数据处理任 务的智能灵活调度,部署了集群的统一监控体系。大数据平台满 足各类复杂应用场景的使用需求,为使用者提供完善的技术使用 环境。  全面的平台产品和服务 大数据平台研发了从数据采集、数据存储、数据处理、数据查 询及应用全流程贯通的平台产品,包括统一报表、数据仪表盘、 即时查询、多维分析、元数据管理、数据开发平台、数据质量监 ~ 98 ~

101. 京东大数据技术白皮书 控等多种数据管理工具,满足不同应用场景和使用者需要,实现 了一站式、自助式的操作,全面提升数据开发、数据分析和应用 的效率。 大数据平台提供数据集市服务,基于 SLA 服务协议提供服务 保障,快速解决用户使用过程中的问题,给用户带来较好的服务 体验。 7.3 可靠的安全保障 大数据平台拥有业界领先数据保护和数据共享能力。平台提 供敏感数据保护及数据共享功能, 同时对数据全生命周期进行 全链路的监控、审计。数据安全保护策略通过用户认证与传输通 道加密, 保证用户使用过程中的数据安全, 全方位无死角的防篡 改、防盗用、防截取, 为平台内部数据保驾护航 。  数据分级保护 通过数据敏感程度分层建设、分级防护,采用数据隔离、数据 加密、数据使用审批的敏感数据保护策略,最大限度地保护用户 数据安全,创造面向数据的安全管理系统,如图 32 所示。 ~ 99 ~

102. 京东大数据技术白皮书 图 32:数据安全管控示意图  一级敏感数据 使用物理环境完全隔离方式, 严格控制数据访问与数据流动, 任何数据操作会有事前流程审批、事中数据变化监控、事后严格 数据审计, 最大限度保障数据安全。  二级业务数据 通过用户的数据授权与审计方式, 控制数据的流向, 防止数 据私下拷贝、下载等操作, 实时监控数据血缘关系, 标记数据最 终流向。  三级共享数据 针对用户间共享数据, 大数据平台会向数据生产方提供数据 现有共享使用情况, 同时支持共享数据的灵活授权功能, 数据生 产方能够更安全、更方便地进行数据分享。  用户权限与用户认证 ~ 100 ~

103. 京东大数据技术白皮书 大数据平台通过用户权限系统管控数据共享与数据私密性, 授权可到文件级,满足最小化授权要求, 同时保证用户信息不可 伪造, 进而保障用户数据安全,图 33 展示了用户权限系统的架 构。 图 33:权限系统架构图  传输通道加密 如图 34 所示,京东会针对数据分级情况,定义数据传输安全级 别;对高等级数据,通过校验和加密防止数据在传输过程中被截 取或篡改。我们联合安全团队,建立了分布式的密钥分发机制; 并将在 RPC 层面利用密钥实现对敏感数据传输的加密。 ~ 101 ~

104.京东大数据技术白皮书 图 34:传输通道加密示意图 ~ 102 ~

105. 京东大数据技术白皮书 8 京东大数据展望 8.1 融合统一 大数据技术从概念提出,经过了 20 多年的发展,特别是在 Apache Hadoop 开源技术生态圈的推动和促进下,呈现了百花齐 放的局面。不管是从所涵盖的问题,还是解决这些问题的技术手 段,都得到了很大的扩展;而且发展过程还在持续进行着。我们 在这里谈的融合统一,是根据我们的观察和实践对大数据发展趋 势的一些见解。  数据源的融合 随着大数据技术的发展,越来越多的数据类型被纳入了其处 理范畴:从来自互联网的网页、来自关系数据库的业务数据(如 用户、订单数据)、来自服务的日志数据(如点击流),到 IoT (Internet of Things,物联网)设备产生的海量数据。这些数据在 不同维度具有不同的特性:  涵盖了结构化(如关系数据) 、半结构化(如 web 文档)和 非结构化(如语音、图片)数据。  数据的产生不同。数据来源于用户的操作、设备传感器的 读数、大数据处理的结果等。  数据接入方式不同,包括了数据库日志采集,网页、文件 抓取,主动上报等。有的采取批量方式接入,有的通过流 式方式接入。 ~ 103 ~

106. 京东大数据技术白皮书  数据安全敏感度不同。有些是公开数据,有些则包含敏感 用户数据。 为了更好地发挥不同数据的价值,需要将它们有机融合,进行 统一存储和处理,形成连贯的数据湖(data lake)。这样作为共享数 据提供了单一的存储形式,从而降低数据复制的成本,也避免数 据不一致。 数据的融合,尤其是 IoT 数据的加入,也对大数据技术提出 了相应的需求: (1)从数据存储的角度,一方面需要存储系统高度可扩展以 支持海量数据(比如 EB 级别) ;另一方面要求灵活的数据存储格 式,以满足不同类型的数据存取需求。例如对于结构化数据,需 要高效的列式存储格式;对于非结构化文本数据,需要生成有效 的倒排索引;有些数据需要进行多跳查询,适合以图的形式存储。 (2)对不同的数据类型,需要定制相应的治理策略,包括对 冷、热数据的分级对待:对热数据优化其查询性能,尽可能放置 在高速存储设备上;对于冷数据优化其存储效率,节省存储空间。 同时不同来源、属性的数据需要不同级别的安全保护。 (3)对不同来源的数据,需要有相应的接入和处理方式。例 如 IoT 数据可以通过一些标准的协议如 MQTT 接入,并进行流 式实时处理。 (4)需要构建有效的数据字典和 API,使得数据更容易被发 现和正确使用、处理,成为真正可以被利用的信息。数据字典本 ~ 104 ~

107. 京东大数据技术白皮书 身需要支持高效查询,并能够随着数据的变化而进行更新。API 主要针对非结构化或半结构化的数据,用以封装数据内部的细节, 提供一个稳定的查询接口。  数据处理技术的融合 大数据技术发展到现在,无论是开源方案还是专有的闭源方 案,都衍生出了很多的产品。这里我们的讨论着眼于 Apache 开 源生态圈的技术方案。不可否认,在大数据处理方面,Apache Hadoop 及其相关的开源项目,正在成为业界的标杆。 数据处理技术的融合可以从不同的层次来阐述: (1)从分析引擎的角度,最初的 Hadoop MapReduce 比较适 用于批量数据处理的场景。为更好地支持迭代处理和交互式查询, 产生了诸如 Apache Tez、Apache Presto 和 Apache Impala 等项目; 为支持流式处理,产生了 Apache Storm、Apache Flink 等优秀引 擎。相应地,Apache Spark 试图以统一的引擎支持不同类型的大 数据计算:除了上述场景外,还涵盖了机器学习、图计算等应用 领域。作为一个通用计算框架,Spark 不一定在每个场景中都有 最佳表现,不过它能满足大部分的数据分析处理需求,从而降低 开发者的学习成本和技术栈的复杂度。无独有偶,Flink 框架也定 位成一个通用计算引擎,支持不同的场景。这也反映了业界对技 术融合的一个趋势。 (2)从数据处理的模型来看,一方面基于 IoT 应用的发展和 对信息及时性的需求,基于流式计算模型的实时数据处理正在得 ~ 105 ~

108. 京东大数据技术白皮书 到更广泛的应用。另一方面,很多时候离线批量计算和实时计算 是相辅相承的:比如一些实时计算的场景需要辅以离线计算作为 backfill 的手段来修复 Bug 或提升数据质量;另一个例子是基于实 时计算构建分钟级延迟的准实时数仓表,并在此基础上构建其他 时间周期粒度的离线数仓表。从这个角度来说,离线和实时计算 的融合可以认为是技术融合的一个方面。一个典型的例子是大数 据处理中的 Lambda 架构,通过整合离线和实时计算技术,来构 建一个具备低延时、高吞吐量、可扩展、能容错的数据处理系统。 而 Spark 和 Flink 等流行的数据处理框架也在致力于能同时支持 离线和流式计算模型。 (3)编程模型的融合。在实践中,如上所述的不同大数据处 理技术和模型给 BI 及开发人员带来了很高的学习门槛。为解决 此问题,有必要提供统一的编程模型来简化数据分析的开发工作。 SQL 作为一种简洁的高级描述性语言,已广泛用于事务性数据处 理中。因此主要的大数据分析引擎都支持以 SQL 语言作为编程 模型,例如 Spark、Hadoop、Flink 等;甚至 Kafka 也支持以 KSQL 的方式直接提供流式计算方案。值得注意的是,不同引擎对 SQL 的实现可能不同,在实际中不一定能直接互换,需要进行相应的 测试。作为另一个例子,Apache Beam 定义了一种分布式编程模 型,用于统一批量和流式计算,同时以可扩展的方式支持多种计 算引擎。  大数据与机器学习的融合 ~ 106 ~

109. 京东大数据技术白皮书 所有数据在没有被分析利用之前都还不能成为有用的信息。 传统的数据分析基于统计的方法来寻找数据的规律和相关性。随 着数据类型、维度和数据量的增加,及应用场景的扩大,基于机 器学习的结构化数据挖掘在实践中被更广泛地应用。一个直接的 例子是利用机器学习来构建和使用用户画像。 随着深度学习技术和分布式技术的不断发展,相应的计算框 架,如 TensorFlow 也应运而生。计算能力的提升,结合大量训练 数据,使深度学习技术在结构化与非结构化数据领域产生巨大效 应,开始应用于人脸识别、智能客服、智能投顾、无人驾驶、时 尚推荐等领域。 一方面,深度学习本身需要大量的数据作为支撑,而数据的采 集、存储和预分析则是大数据平台存在的目的之一。这意味着大 数据本身是机器学习的一个天然平台。两者的融合可以说是水到 渠成。IoT 应用的发展,也将进一步促进融合的深度。 大数据和深度学习平台的结合也已经在业界得到共识,例如 Databricks 正在推进 Spark 上的深度学习支持,不同公司也在推出 与 Hadoop/Yarn 融 合 的 深 度 学 习 平 台 。 通 过 容 器 技 术 用 Kubernetes 构建同时支持大数据处理和深度学习的平台,也是业 界的一个实践。 就目前而言,大数据平台对机器学习的支持大多处在提供基 础框架组件的阶段。如何将这些组件有机串联起来,形成一个从 开发、训练到部署的端到端机器学习和深度学习平台,也是当前 ~ 107 ~

110. 京东大数据技术白皮书 一个活跃的研发领域。  大数据与云计算的融合 云计算作为一个方兴未艾的方向,正在得到更广泛的认可。当 前的一个趋势是云服务正在从 IaaS 向更高层次的 PaaS 发展。作 为一项重要的平台服务,在云上提供大数据解决方案也成为各个 云服务商的重点。这其中包括 Google Cloud 的 BigQuery、 DataFlow, AWS 的 RedShift、EMR,Microsoft Azure 的 HDInsight 等。 使用云上的大数据服务使得用户可以专注于数据分析的逻辑, 而不必投入很多的精力来关心和维护构建大数据平台所需的基 础框架。这种 Serverless 服务模式很适合于没有强大的数据基础 架构团队的中小型公司,通常也是总体成本最低的解决方案。另 一方面,云上的计算和存储能力的扩展都更加经济、方便;这对 IoT 数据存储和处理尤其有吸引力。 通过公有云进行大数据处理的一个核心问题是如何保证数据 安全。随着云服务商提供了各种级别的安全保护如数据加密,访 问权限控制等,在技术上这个障碍也逐渐被移除。 在私有云方面,随着 Docker、Kubernetes 等开源容器技术的 成长,京东大数据与机器学习平台开始基于容器云的概念构建计 算资源管理与调度,并通过容器将集群中的各种资源进行封装, 以承载大数据和机器学习的相关组件进程。这些容器可以与其它 线上业务的容器进行混合编排调度,从而实现更大范围的资源共 享,有效提高机器资源利用率。 ~ 108 ~

111. 京东大数据技术白皮书 8.2 开放合作 我们希望在自身发展的同时,将京东大数据的能力和资源能 够对外开放,和合作伙伴一起成长,为中国的大数据产业发展贡 献力量,开放的策略包括:  技术平台和产品 京东大数据在大数据的采集、存储、加工、分析挖掘等技术领 域积累了丰富的经验,并自主研发了数据开发平台、数据采集工 具、可视化产品、元数据及数据质量管理平台、任务调度工具等 一系列的技术平台产品,在数据安全管理、数据质量管理、大数 据平台智能运维等有完整有效的策略。未来将输出这些技术平台 和产品,帮助其他企业一起完成大数据技术平台的建设。  行业应用解决方案 京东大数据致力于用大数据、人工智能等技术打造创新应用, 驱动企业业务增长和提升企业运营效率。京东大数据平台部自主 研发的京东智能门店解决方案由“智能货架”、“智能感知摄像 头”、“智能称重结算台”、“智能广告牌”四个部分组成,实 现知人、知货、知场景的购物体验。智能门店解决方案不仅能够 实现“无人店”的体验效果,更重要的是能够针对现有的线下实 体店铺进行低成本的升级改造,实现智能化。这套解决方案今后 也将应用于全国的京东便利店、京东 3C 的京东之家、京东专卖 店等,同时独有的模块化组装模式,更可扩展到超市、便利店、 加油站、机场、酒店等应用场景。未来,我们希望和行业合作伙 ~ 109 ~

112. 京东大数据技术白皮书 伴一起打造更多的行业应用解决方案。  数据开放和合作 得益于京东丰富的生态和业务,京东大数据沉淀了包括用户、 电商交易、搜索、物流、支付、广告、视频、位置等种类多样的 高质量数据,为发挥大数据的价值奠定坚实基础。我们是积极推 进数据开放、共享和流通的。数据流动能够带来数据的价值最大 化,数据在不断地被消化、处理,产生增值服务,同时又产生更 多的数据,形成数据回流。这是个正反馈。我们已为京东生态体 系内的众多商家和合作伙伴提供了数据开放服务,我们也希望在 遵守相关国家法规和保证数据安全的前提下,和政府、企业进行 更多的数据开放和合作项目,输出京东的大数据价值,承担更大 的社会责任。 8.3 技术前瞻 经过多年的发展,开源大数据技术已经开始走向成熟,然而相 关技术发展的步伐并没有变慢。这里基于京东的大数据实践对接 下来一两年的技术做一些前瞻。  计算、存储的逻辑分离 目前的 Hadoop 架构力求保持存储的本地性,这很大程度上源 于最初机房网络带宽比较受限。随着高速网络的应用,机器之间 的带宽不一定再是瓶颈,在实际中,很多时候反而是单节点上硬 盘的 IO 或者 CPU 成为瓶颈。在这种情况下,把存储本地性的优 ~ 110 ~

113. 京东大数据技术白皮书 化目标减弱,将同一数据打散到不同节点的硬盘上,相应的计算 也可调度到不同节点上,将是更有效的策略。这种计算、存储分 离的策略使得计算任务的调度更加灵活,方便计算和存储资源的 分别扩展。这种灵活性也为建设跨机房高可用的大数据平台提供 更好的支持。 如上所述,大数据和机器学习平台是紧密地结合在一起的。这 两个平台一直以来都是新硬件的理想落地场所。这其中包括深度 学习需要的 GPU,用作硬件加速的 FPGA,以及高速存储设备 (NVME)和 RDMA 等。如何在异构计算环境下更好地管理和 调度不同的计算和存储资源,将会是一个需要解决的问题。京东 大数据平台正推进计算和存储的逻辑分离工作,将二者从资源调 度的层面分开。这也将相应地简化异构计算资源的调度问题。  离、在线系统混部 离线和在线业务在整体资源利用率上有高有低且侧重点不同, 有计算密集型,有存储密集型,也有综合型的。由于业务特点的 不同在时间周期上也有差异,有的白天比较繁忙,有的晚上比较 繁忙。以物理机进行业务资源分配的方式无法达到资源的最优利 用,尤其是现在单节点容量和性能越来越强的情况下。离线、在 线混部是利用业务的不同资源需求,将不同业务的任务通过容器 隔离,并调度到相同的集群上,从而达到资源共享,提高有效资 源利用率。 要实现高效混部,首先要达成离线任务计算和存储的逻辑分 ~ 111 ~

114. 京东大数据技术白皮书 离工作,使其任务调度更加灵活,进一步实现不同任务容器之间 的强隔离,使得在线任务不会受到离线任务的影响。同时,不同 类型任务需要有不同的调度优先级,且高优先级任务可以驱逐低 优先级任务,以保证在线任务优先获得资源。  流式计算技术 流式计算已经成为大数据技术发展的一个重要方向。IoT、金 融风控、实时点击流分析、大规模时序数据分析等应用都对流式 分析技术提出更高的需求。流式计算技术也帮助机器学习算法对 数据变化更及时地进行响应。 目前各种开源解决方案,如 Flink, Spark streaming 在不断地演 进提升对流式计算基础框架的支持。然而如何有效地利用这些基 础支持构建 7x24 小时持续运行且延时可控的大规模流式处理应 用,并且降低流式计算的开发门槛,仍是大数据平台需要解决的 一个问题。在京东,我们从提升周边基础架构支持、提供通用开 发组件和高层次编程模型、加强对业务逻辑的调试支持等方面着 手解决。最终我们希望能提供符合 Serverless 理念的流式计算平 台服务,使得用户能够专注于构建自己的应用逻辑。  图计算和存储技术 图数据模型在实际中的应用越来越广泛。它适合描述海量 实体连接或交互产生的数据,比如社交网络、web 网页集合、知 识图谱、通信网络、道路地图等。相应地,对图数据的挖掘和分 析也得到了业界和学术界的重视。一般来说,现在主流的大数据 ~ 112 ~

115. 京东大数据技术白皮书 处理技术,如 MapReduce,被认为不适合对大规模图数据进行高 效地挖掘,其主要原因是图数据的节点之间有很强的依赖性,在 进行分布式处理时需要频繁地在各个机器之间交换数据,带来很 高的 IO 和计算开销。同时图算法通常要进行多次迭代处理,而 MapReduce 并不适合于迭代计算。因此,适用于对大规模图数据 进行高效存储和计算的大数据平台也成为技术发展的一个方向。  机器学习和深度学习能力 从机器学习和大数据融合的角度出发,如何基于大数据平台 构建一个(深度)机器学习平台也是一个技术课题。机器学习平 台基于现有大数据平台的计算、存储、任务调度、数据访问权限、 交互式开发和可视化能力,提供相应机制打通算法从开发到落地 的各个环节。同时这个平台应该是松耦合和开放的,以适配不同 类型的算法开发流程。以此平台为基础,提供一个集中的机器学 习特征库,可以进一步提升算法工程师的效率。  数据安全 随着大数据平台汇集的数据越来越多,各种数据应用和服务 也不断增加。与此同时,用户对隐私的关注越来越高,各种针对 数据安全的政策法规也相继出台。其中欧盟主导的 GDPR(通用 数据保护条例)是一个典型。这些都对数据安全技术提出更高的 挑战。 这方面的工作将从精细化权限控制、敏感数据分级、端到端用 户认证和数据加密等方面开展。由于大数据和机器学习领域大量 ~ 113 ~

116. 京东大数据技术白皮书 采用了开源技术,而不同开源项目所采取的通信及权限控制机制 都有所不同。如何构建一个统一的数据安全体系将成为一个挑战。  一致的系统架构 大数据平台的技术栈非常复杂,从纵向上涵盖了计算、存储资 源管理、计算框架、数据应用等不同层次,从横向上不同的问题 都有各自的开源或专有解决方案,各个方案的设计理念、实现方 式各有不同。在时间方向上,各种技术也在不断迭代更新。因此, 系统设计的目标是整合不同的技术方案,构建一致的系统架构, 在满足各种功能、性能需求的前提下,提供弹性可扩展、可维护、 安全可靠的系统。这一方面需要对系统架构的演进进行合理的规 划,制定清晰的技术路线图。在引入新的基础架构组件,尤其是 开源软件时,需要谨慎评估其必要性,并考虑它能否适配现有的 系统架构,是否支持扩展等要求。另一方面需要整合系统的关键 基础服务,如权限认证、RPC、监控日志、消息队列等,并以中 间件或插件的形式使之能够灵活地适配到系统的各组件中。构建 简洁一致的大数据系统架构是一个高度挑战性的问题,也是支撑 可持续发展的大数据平台不可或缺的关键部分。 出于此考虑,越来越多的人认为基于内存计算的 Apache Spark 将 成 为 开 源 大 数 据 计 算 框 架 的 一 个 新 中 心 。 Spark 结 合 了 MapReduce 和数据库引擎各自的特性,具备一个通用计算框架的 能力,可以有效地提高系统架构的一致性。  新硬件设备的使用 ~ 114 ~

117. 京东大数据技术白皮书 大数据平台所面临的存储问题丰富多样,既需要解决低成本 海量数据的存储问题,又需要满足热数据、消息数据的延时需求。 近年来随着技术的进步,越来越多的新的硬件设施出现,如固 态硬盘、非易失存储设备、高速网络设备等,充分利用这些硬件 设施能够大幅提高存储和计算效率。 2017 年,京东将固态硬盘和现场可编程逻辑门阵列(FPGA) 应用到一起,成功地将固态硬盘的单位存储成本在不降低读写性 能的前提下大幅度降低。在这个方案中,FPGA 设备负责完成数 据压缩和解压缩的工作,固态硬盘负责存储压缩之后的数据。京 东已经开始研究如何将非易失性存储设备(如 Intel 的 AEP)应 用到新一代的分布式文件系统中,加速京东整个大数据计算引擎 的执行效率。 为了充分地利用服务器上的计算资源,京东对大数据的网络 环境进行了大幅度的改造,先后引入了 10Gb、25Gb 网络。高速 网络设备为大数据平台效率提升提供了网络保障。京东已经将 RDMA 技术应用到 Spark 计算优化中,并且开始研发基于 RDMA 和非易失性存储设备的通用 external shuffle service。  探索新数据应用 IoT 的发展对大数据技术体系的各个层次,包括数据格式和模 型、数据存储和计算、机器学习、数据安全都提出了新的挑战。 如何对现有大数据技术和平台进行改进以更好地支持 IoT 是相 关技术人员需要思考的问题,特别是大数据如何和云计算有效结 ~ 115 ~

118. 京东大数据技术白皮书 合来支持 IoT 数据的灵活接入、存储和处理。 区块链是当今最热门的技术话题之一。然而区块链和大数据 将以何种方式深入互动还没有很显性的结论。在将区块链技术应 用到大数据方面,有提议利用区块链为数据溯源,保证数据及其 发生时间的保真度,提高数据分析的质量。一方面可以对区块链 中记录的数据进行分析处理来鉴别一些异常活动;另一方面部分 大数据技术栈可以作为支撑区块链技术架构的基础,例如有人基 于 MongoDB 来构建分布式区块链数据库。在应用大数据对区块 链数据进行分析处理时,也面临着各种不同的挑战,比如对链上 节点数据的采集和一致性问题。 关于区块链的这些讨论仍处于早期阶段。区块链与大数据的 联系还需要业界不懈地探索,这也将是一个值得关注的方向。 ~ 116 ~

119. 京东大数据技术白皮书 结语 大数据时代的超大数据体量和数据的多样性,已经超越了传 统数据库的管理能力。大数据技术是新一代的技术与架构,它将 帮助人们存储管理好大数据,并从大体量、高复杂度的数据中提 取价值。 京东大数据走过了八年的艰苦历程,在大数据采集、存储、 计算和数据管理体系上积累了丰富的实践经验,打造了万台集群 规模的大数据平台,构造了适合各类计算应用场景的技术环境, 在数据资产管理方面建成了较完整的体系,在如何实现大数据价 值上进行了有效的探索,相信我们的实践和思考对同行会有很大 的启发和借鉴意义。 路漫漫其修远兮,物联网技术的成熟、人工智能技术的应用, 都将带来数据的无限增长和更大的复杂性,这些将是新的挑战, 我们希望携手合作伙伴一起迎接挑战,推动我国大数据技术更进 一步发展。 ~ 117 ~

120. 京东大数据技术白皮书 参考文献 (1) Brendan B. 2016. Borg, Omega, and Kubernetes. (2) Martin Abadi. 2015. TensorFlow: A system for large-scale machine learning. ~ 118 ~