当前,业界对大数据处理的技术方案几乎已经形成一套通用的技术架构。然而,结合不同的行业及不同的实际业务需求,大数据平台建设所用核心技术依然需 要付出一定的研发投入来实现定向的技术突破与应用。京东大数据平台搭建过程中,遵从“大处着眼,小处着手”的原则,在通用的开源技术架构基础上进行定制开 发和产品化,从技术和产品两个层面实现微创新和突破性创新,打造坚实的平台基础。
技术微创新主要体现在平台的基础架构上,通过对hadoop 分布式技术的深入学习,在本地化部署过程中实现多项创新:
1. 定向开发,支持基于HDFS 创建索引;
2. 定向改造,在Map 层面合并小文件,节省资源消耗;
3. 支持动态调配资源队列;
4. 对任务运行时间和HDFS 的读写量支持通过参数进行控制;
5. 自主开发适用于京东大数据服务平台的计算函数;
6. 优化并提升Hadoop 存储性能,支持更多类型的数据存储格式;
产品层面的突破性创新主要体现在大数据管理应用上,包括:
1. 自主研发面向复杂业务模型的海量数据生产调度管理平台;
2. 自主研发打通广告点击与页面浏览的日志分析平台,同时也支持实时反作弊和用户模型研究;
3. 免推送至关系型数据库直接基于文件系统生成报表的前端展现平台;
4. 综合多种开源技术全新打造的流式计算平台;
5. 自主算法的数据挖掘平台;
6. 融合多产品功能的移动应用;
在基础架构方面,京东大数据平台是基于云计算的动态弹性平台,采用了Hadoop 分布式计算技术,可做到快速的横向扩展。平台计算技术的实现分为离线计算模块与实时计算模块,基于海量数据查询的计算正由离线逐步过渡到即时查询,数据洞察的能力更加及时有效。
在软件架构方面,基于Hadoop 自主开发的大数据平台,已为京东提供了高性能、高保障、高可用的通用服务,为京东数据科学家、数据分析师、数据挖掘工程师等提供了强有力的支撑,通过友好的交互设计和功能定制大幅降低了数据的消费门槛,让数据应用更简单、高效。
在业务模型方面,京东作为电商行业的领先者,拥有从流量、仓储、采购、销售、配送,售后、商品等全链路的超优质结构化电商数据。在业务模型的设计与 开发方面,将传统业务主题模型进行了全方位的优化与创新,让电商主题模型更加清晰,开发更加高效。主题模型目前已经经受住了复杂的京东业务,尤其是在京东 业务系统频繁变更的今天,更是发挥着越来越重要的作用。
在人员配备与人才培养方面,京东复杂的业务对京东数据工程师要求更高,甚至苛刻。京东目前拥有多名数据科学家和近百名高级数据开发工程师。并通过 “大数据平台认证”项目,从分布式开发技术、HSQL 优化、产品使用、业务模型4 个方面进行专项技能培训,保证了在技术与产品迅猛改进的同时,为京东培养了更多的非数据序列的员工,通过智能数据分析平台,协助业务人员更有效地解决实际 业务问题。目前大数据认证项目,已经为京东输出了数百名合格的数据工程师和数据分析师。
海量实时数据技术架构
快速决策必然需要快速的数据支持,无论是京东内部的运营者还是在网站上消费的用户,实时数据太重要了。大数据平台开始实时数据技术研究应用是从 2012 年下半年开始的,阿侃是最早涉足这一领域的同事之一。近两年的时间里,相关技术方案先后在618、双11 等重大促销活动中投入使用,进行PV、UV、订单量的实时查询。2013 年年5 月,京东用户在页面上进行产品搜索时,会发现搜索结果的前面显示了“已购买”、“已浏览”等这样的标签,这种个性化的搜索结果展现也是实时大数据计算应用 的一个方向。
京东大数据平台实时计算分为四个阶段,分别采用了不同的技术。
1. 对于实时数据采集阶段。成立了一个项目“长江”,将异构数据源实时同步到实时数据仓库里。“南水北调”项目同时将数据同步到离线数据仓库里。
2. 流式数据计算阶段。承接“长江”项目,成立了“汉江”项目。“汉江”项目将storm 做了更好的封装,可以更方便的调用实时计算API。
3. 实时查询服务。经过前面两步,数据已经实时计算并存储了。“三峡”项目应运而生。“三峡”使用Spark,PrestoDB 来解决海量数据下的即席查询。上亿条数据,简单的查询,可以在十几秒内返回结果。
4. 实时数据挖掘。“东海”项目结合“长江”项目的实时数据,将数据挖掘实时化,更好地服务线上的推荐、搜索。
在京东的业务场景里面,有大量流数据的实时计算需求场景,大数据平台提供了一套通用的流数据实时计算平台,内部称之为“汉江”。汉江平台实现了计算 过程的低延迟、高吞吐,计算结果的可复用和计算任务开发的简单化的目标,采用复合事件模型构建分布式流数据计算框架(底层基于Storm),功能易扩展、 部分容错、数据和状态可监控。汉江具有处理实时数据流(长江产品实时从生产环境中多个异构数据源同步的数据)的能力,同时将实时计算结果以服务的方式供业 务系统调用,支撑业务团队的个性化需求。目前,汉江平台为京东数据罗盘、京东数据领航员、京东数据汇等产品提供实时计算数据。
结合京东的业务特点,汉江平台对外提供两种使用模式:SQL-Like 和API编程,并内置了大量可复用的函数(如:Distinct、Sum、Avg、Count、Join 等),结合业务提供了一些业务化的函数(如:PV、UV)。