对于刚刚成长起来的京东大数据平台来说,数据产品并不是一个新鲜事物,2011年自建数据仓库上线的同时,第一款数据产品调度平台也一同上线并正式投入使用。在Tiger的指导下,调度平台无论是UI、功能还是用户体验各方面都获得一致的好评。
调度平台
订单交易,仓储物流等众多京东系统都会产生数据,仅日志内容每天的大小约为100TB,大量的数据如何统一汇总到数据仓库来呢?这就需要调度产品来实现数据生产。京东调度平台发展至今已经是3.0版本,每一次的更新迭代都凝聚着阿敏等几位开发工程师的许许多多个日夜的心血,也是我们技术突破与功能升级的具体体现。
调度平台1.0版本架构
1.0版本于2011年8月上线,一台服务器作为中心节点指挥调度,另外3台服务器负责相关数据作业,任务之间通过后置变量的方式设定前后依赖关系,调度机制便运行起来了。数据仓库建立之初的任务并不太多,数据量没有太过庞大,数据ETL过程所需计算资源也都完全应付得来。但随着仓库收纳数据的增加,数据生产任务越来越多,任务之间的依赖关系也变得越来越复杂。每个BI工程师需要根据自己的生产任务设定后置变量的值以建立任务依赖关系,任务多了之后不但设置起来耗时费力且不易管理,当一个人的任务需要重跑时后置变量的修改可能会影响到别人的任务。
2.0版本上线了新的调度引擎,彻底解决了这个问题。新任务上线只需要选择依赖的父任务即可建立关系,且流程独立,不会因同一个任务被多个依赖而造成干扰。除此之外,任务可视化配置与浏览功能也在这个版本上线,任务运行状态监控预警功能也投入使用。这之后的功能升级也一直在进行,较大的功能改进莫过于虚拟节点了。数据生产过程中,尽管几率很低,但仍然还是会出现一些物理节点挂掉的情况,而这种情况一旦出现,影响将会很严重。于是,虚拟节点的功能应运而生,原理就是在原来的物理机集群上做一层虚拟化,如果遇到生产节点故障的情况自动切换到另一个节点。同时,根据不同节点的负荷,将新的任务自动分配到负荷较小的节点,做到负载均衡。这一系列功能的上线使得平台的稳定性大大提高。
3.0版本从功能上更加丰富,并且实现了数据生产的半自动化运行机制。所谓的半自动化是指数据任务可在配置目标数据库、表之后自动生成ETL模板并完成数据清洗,之后是人工创建调度任务完成数据生产。另外,自主研发的抽数模块Plumber也在这个版本中上线,Plumber技术实现了异构数据库之间的快速数据交换,且具有较高的稳定性,数据导入导出的维护成本也大大降低。还有服务器运行状态的监控系统Phenix也集成到了调度监控中,实时采集服务器运行状态数据并对服务器心跳、存储空间使用、CPU资源消耗等进行预警。对于上游系统故障造成的历史数据补充问题,之前的版本中需要人工查找相关依赖任务,然后一个一个配置参数后点击重跑,而在新的版本中BI工程师们期待已久的一键重跑功能上线了,并且支持批量操作。一千多个重跑任务,BI工程师加班到半夜一个一个点鼠标的日子永远成为了过去。
作为大数据平台的核心系统,调度平台不仅承担着数据生产的重要使命,同时也负责集市数据推送,模型数据加工等任务,部门有超过三分之一的人都在围着它转,重要性可想而知。今后的功能升级迭代将在增强生产能力的同时更加注重自动化服务及开放运营等平台产品的特性,为大数据管理及挖掘大数据价值提供可靠保障。
数据集成开发平台
数据集成开发平台是京东大数据发展的一个里程碑产品,它的出现结束了数据分析师和业务部门数据需求人员通过客户端工具手工提取数据的痛苦经历,并对后来的数据知识管理平台等产品的出现产生直接影响。当前平台用户接近3000人,数据订阅任务总量逾8万个。
早期版本的数据集成开发平台就是命名为提数工具,提数也是当时寄予这款产品的最重要的期望。相信每一家公司对于数据的需求都是“刚需”,快速发展的京东,流动并且快速流动的数据更是像一个人身体里的血液一样不可或缺。毫无疑问,数据提取的任务由数据部来承担,无论是拆分状态时还是合并一体时的数据部,数据分析师总是最繁忙的,每到月初需要支持财务经营分析的人员提取数据时,还要拉上不少工程师共同参与这场提数大战。前后台数据部拆分状态时的最后几个月里,财务经营分析的数据提取任务几乎被平均的分到了这两个部门,每到月初,提数情况便成了两个部门最直接的竞争内容,完成的不错的话业务方可能会发个感谢信,当然,就算不提出批评,完成的不好的部门也会觉得很没面子。前后台数据部合并后最疯狂日子里,数据部实行“全员提数”,业务方通过公司的服务管理平台发起数据提取需求,部门内几名负责人会将需求分配给不同的人来处理。一段时间内,数据提取的数量和难易度甚至与绩效考核挂钩,提数,成了大家工作中非常重要的一部分。
正是在这样的背景下,数据集成开发平台的1.0版本诞生了。这是一款查询数据并且支持周期性数据订阅的产品,同时打通了京东私有云服务Jbox,可以供已授权人员安全、便捷的查询和提取数据,尤其对于需要定期提取大量数据做分析的人员(如财务经营分析同事)有很大帮助。功能上来讲,通过Web端在线数据查询和数据订阅是两大主要功能,同时,SQL编写界面还支持元数据信息的查看,并且可以在线保存编辑中的代码,这给提数人员带来很大便利。底层接入的数据库包括当时存在的SQL Server、MySQL和Hive,SQL语法上根据不同的数据库类型选择不同的语法即可,其它执行逻辑都是一样的。产品开发主要由彦伟团队负责,从初期版本上线到后期功能升级,Tiger也给出了很多极具参考价值的意见,不断完善的产品吸引了大量用户的注册使用。
同样采用Extjs的前端页面偶尔存在一些滚动条失灵的小Bug,这给用户体验上带来一定影响。另外,虽然Extjs强大的表单功能成就了集成开发平台这样的富客户端应用,但是其UI风格的局限性也是非常明显的。随着后期产品线的丰富,新推出的产品已经弃用Extjs,转而采用Bootstrap前端,于是在2014年7月份,采用新的前端技术,数据集成开发平台与后期推出的数据知识管理及数据质量监控产品融合后统一在一个系统上线。
数据知识管理平台
数据知识管理平台产品的出现是个水到渠成的结果,在数据仓库模型规范确定之后,元数据信息也有了标准的分类体系。按照标准的分类体系将元数据信息分门别类管理起来,同时提供内容搜索、类Wiki的编辑维护以及咨询评论功能,数据知识管理平台就呈现在大家面前了。后期版本升级过程中又提供了维度表的维护功能,给模型开发维护的同事带来很大便利。
京东分析师
Apricot(杏子)、Blueberry(蓝莓)、Cloudberry(云莓),水果连连看?不,这是报表展现平台三个版本命名的代号,也是产品域名的首段字符串,首字母分别是ABC也代表了产品演进的过程。当前版本代号为Cloudberry,产品正式名称为京东分析师,毫无疑问,我们赋予这款产品的除了基本的数据可视化能力,还有数据分析的能力。体验过Tableau的用户都会被其灵活的控制台和美妙绝伦的图表展现所征服。我们所做的就是在Web系统中尽可能的实现Tableau桌面系统所能达到的效果,并且在产品服务能力上更加强调自助服务的智能软件分析平台。
技术架构上,京东分析师前端自主开发可自定义的展现布局,封装了丰富的图表展现组件,后端报表配置系统支持MySQL、SQL Server、Oracle、API及Hive等作为数据源,并支持在线接入。交互方面,报表收藏、基于图表的条件过滤、数据排序、深度钻取是其基本功能,自定义报表页面还提供邮件推送报表的功能,当某个报表数据比较重要,系统可通过邮件的形式定期发送报表供查阅。对于自己权限范围内可浏览的表,系统还可根据浏览记录将经常查看的表排在靠前的位置以提升体验。
数据挖掘平台
大数据的数据挖掘与传统意义上的处理方法存在很大区别,京东数据挖掘平台产品定位于构建一站式的数据挖掘算法平台;在基础的机器学习算法之上,可根据具体实际业务开发订制算法,满足算法应用场景。这一产品主要利用分布式计算,采取适用于机器学习算法的计算模型进行迭代,以解决大数据量的算法处理问题。
数据挖掘平台架构
为减少数据实体化的开销,挖掘平台采用基于内存的存储引擎,集群资源调度与管理基于Hadoop Yarn框架,保证了集群计算性能的高可利用性和高可扩展性。平台自2014年年中正式推出后,已经开始为广告系统、推荐系统等提供个性化的数据挖掘算法服务。
数据质量监控平台
数据的及时性、准确性和完整性关系到一系列数据应用的效果,大数据平台建设之初便已着手实施数据治理的相关工作,统一数据计算口径,设置数据校验规则,以保证数据质量。数据仓库升级之后,对于数据质量的关注程度更高,于是便从产品层面进行管理。从数据生产过程来看,数据质量监控平台的基本功能包括数据生产过程中的质量检验、数据入库后的质量评估以及全部生产日志的扫描存档并生成数据质量分析报告。数据生产过程中的质量监控主要对数据生产中源表结构的变化、字段信息的一致性进行规则校验,并依据校验结果进行质量评估,对存在质量问题的数据将进行自动重跑并通知后续依赖任务。入库之后的数据将进行具体到字段粒度的数据检查,可以对枚举值、字段类型,甚至数值型字段的最大最小值及均值等进行规则校验,以确定数据是否在合理的范围内变化。

京东大数据平台产品体系揭秘相关推荐

  1. 京东用了哪些大数据平台产品体系?

    对于京东大数据平台来说,数据产品并不是一个新鲜事物,2011年自建数据仓库上线的同时,第一款数据产品调度平台也一同上线并正式投入使用. 调度平台 订单交易,仓储物流等众多京东系统都会产生数据,仅日志内 ...

  2. 京东大数据平台进化之路

    本文内容来自由msup主办的第七届TOP100summit大会.分享者王哲涵,时任京东离线平台研发团队负责人.2015年加入京东,于大数据平台研发部工作, 负责京东大数据平台的架构与研发工作. 导读 ...

  3. 政务大数据平台数据安全体系建设指南

    在电子政务领域,基于大数据的应用正迅猛发展.通过建设大数据平台,对政务数据进 行汇聚.分析.共享,能够为社会公众带来便捷的政务服务,与此同时,也带来了数据安全 问题.2019 年 12 月 1 日起实 ...

  4. 预告丨《政务大数据平台数据安全体系建设指南》发布会

    随着电子政务的发展,政务大数据平台等大数据应用建设速度不断加快,政务数据融合.汇聚.共享,给社会公众带来便捷政务服务的同时,也产生了网络攻击.数据泄露等安全风险. 政务数据安全如何保障,怎样兼顾数据安 ...

  5. 企业大数据平台技术体系架构

    2015年国务院向社会公布的<促进大数据发展行动纲要>明确提出了大数据的基本概念:大数据是以容量大.类型多.存取速度快.应用价值高位为主要特征的数据集合,正快速发展为对数量巨大.来源分散. ...

  6. 亚信大数据平台产品经理 杨晋:大数据是怎么应用于技术方面的

    2014中关村大数据日于2014年12月11日在中关村举办,大会以大会以"聚合数据资产,推动产业创新"为主题,探讨数据资产管理和变现.大数据深度技术以及行业大数据应用创新和生态系统 ...

  7. 红象云腾发布新一代PB级高速大数据平台产品

    ZD至顶网服务器频道 03月23日 新闻消息:在3月19日举办的China Hadoop Summit(中国Hadoop技术峰会)上,中国Hadoop大数据厂商红象云腾与OpenPOWER基金会共同发 ...

  8. 实战分享:从京东618数据井喷看大数据平台峰值处理制胜关键

    一.大数据综述 随着DT(数据技术)时代的到来,人们能比以往更容易地获取更丰富的数据.数据作为一种新的能源形式,正在源源不断地发挥其巨大的价值,帮助我们激发更多的技术驱动力,提供更优质的服务. 在京东 ...

  9. 京东EB级全域大数据平台的演进与治理历程

    讲师介绍 包勇军,目前在京东任职数据基础平台部.广告质量部.推荐研发部负责人,同时担任京东集团技术委员会委员.京东零售数据算法委员会会长.负责大数据平台基础架构的建设和产品开发.AI算法平台建设.AI ...

  10. 京东JDK在大数据平台的探索与研究

    本文旨在概述京东在JDK方向上的尝试与探索,以及京东JDK项目背景,基本特性以及未来的工作方向.对于JDK特性的技术讨论,实现细节及效果,将在后续系列文章中深入讨论. 背景 HDFS简介   HDFS ...

最新文章

  1. 皮一皮:直男最后的倔强...
  2. ajax formdata提交上传,关于利用h5 FORMDATA ajax方式提交多文件上传,上传表单
  3. PHP7不能用string类名,thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法...
  4. 四十五、Gtihub+Hexo+icarus搭建自己的博客
  5. java weblogic连接池,Weblogic JNDI 方式连接连接池 (工作中遇到的问题)
  6. 如何循序渐进的学习javaScript呢,请听我慢慢道来!
  7. ariel字体_播客第58集:软件开发人员和freeCodeCamp超级巨星Ariel Leslie
  8. linux命令 socket,如何从linux中的命令行向socket.io websocket发送消息?
  9. Spring Boot swagger之前后端分离
  10. 小米平板android版本,小米平板2发布:分Android和Wind 10两个版本
  11. yolov3详细讲解
  12. PxCook 高效智能的研发设计工具。点击设计稿即可生成前端代码的智能标注切图软件
  13. 自然语言处理 cs224n 2019 Lecture 11: ConvNets for NLP
  14. xcode联调设备出现“ ineligible Device”解决
  15. C语言:在文件的指定位置实现局部修改,而无需重写文件的其他部分
  16. C语言的fopen()函数
  17. 合并 2 个有序列表(关键词:有序列表/有序/合并/归并)
  18. 不是封闭也不是开放 创新封闭式基金迎来变种
  19. 英辞流——坚若金刚与穿行无碍:物质的三态
  20. 搭建 Apache Http Server 服务器

热门文章

  1. java mqtt服务器搭建
  2. 江西银行服务器怎么选择硬件配置
  3. php 微信 爬虫 源码,PHP实现微信开放平台扫码登录源码下载
  4. Python运行常用平台有哪些?
  5. 【C语言】关机程序的实现以及函数
  6. Google退出中国 Mark
  7. js控制Windows Media Player
  8. 小米线刷教程+小米8背面指纹版的MIUI10和MIUI11包分享
  9. 尚学堂浪曦视频学习推荐顺序
  10. 你真的懂网络安全行业吗?