对于京东大数据平台来说,数据产品并不是什么新鲜事。 2011年自建数据仓库上线的同时,首个数据产品调度平台也上线并正式投入使用。
调度平台
京东的订单交易、仓储物流等很多系统都会产生数据。仅日志内容的大小就约为每天 1tb。如何将大量数据整合到数据仓库中?这就需要对产品进行调度。从而实现数据生产。京东调度平台目前已发展至3.0版本。每一次的更新迭代都凝聚着京东大数据平台开发工程师无数个日日夜夜的心血,也是我们技术突破和功能升级的具体体现。
调度平台1.0版本架构
1.0版本于2011年8月上线,其中一台服务器作为中心节点直接调度,另外三台服务器负责相关数据操作。任务是通过后置变量设置的。确定前后依赖关系后,调度机制就会开始运行。数据仓库建立之初并没有太多的任务,数据量也不是太大,数据etl过程所需的计算资源完全能够应对。
然而,随着仓库存储的数据越来越多,数据生产任务越来越多,任务之间的依赖关系也越来越复杂。每个bi工程师需要根据自己的生产任务设置后置变量的值,建立任务依赖关系。当任务过多时,不仅设置起来费时费力,而且管理起来也困难。当一个人的任务需要重新运行时,后变量值的修改可能会影响其他人的任务。
2.0版本推出了新的调度引擎,彻底解决了这个问题。当新任务上线时,只需选择依赖的父任务即可建立关系。进程是独立的,不会因为同一任务的多个依赖而造成干扰。此外,任务可视化配置和浏览功能也在该版本上线,任务运行状态监控预警功能也投入使用。
此后功能升级一直在持续,其中最大的功能改进就是虚拟节点。在数据生产过程中,虽然概率很低,但仍然会出现部分物理节点挂掉的情况,一旦发生,影响将是严重的。于是,虚拟节点的功能应运而生。原理是在原来的物理机集群上进行一层虚拟化,如果某个生产节点出现故障,自动切换到另一个节点。同时,根据不同节点的负载情况,自动将新任务分配给负载较小的节点,实现负载均衡。这一系列功能的推出,大大提高了平台的稳定性。
3.0版本功能更加丰富,实现了数据生产的半自动化运行机制。所谓半自动化,是指数据任务在配置目标数据库和表后,可以自动生成etl模板并完成数据清洗,然后手动创建调度任务来完成数据生产。此外,该版本还推出了自主研发的抽取模块plumber。 plumber技术能够实现异构数据库之间的快速数据交换,并且具有很高的稳定性。数据导入导出的维护成本也大大降低。服务器运行状态监控系统phenix还集成到调度监控中,实时收集服务器运行状态数据,并对服务器心跳、存储空间使用情况、cpu资源消耗等进行预警。
关于上游系统故障导致的历史数据补充问题,在之前的版本中,需要手动搜索相关依赖任务,然后一一配置参数,点击重新运行。然而,在新版本中,bi工程师们已经等待多时了。按键重跑功能现已上线,支持批量操作。一千多个重复运行的任务,bi工程师加班到半夜,逐一点击鼠标的日子已经成为过去。
调度平台作为大数据平台的核心系统,不仅承担着数据生产的重要使命,还负责市场数据推送、模型数据处理等任务。该部门超过三分之一的人员正在从事这方面的工作,这很重要。性是可以想象的。未来的功能升级迭代,不仅会提升生产能力,还会更加注重自动化服务、开放运营等平台产品的特性,为大数据管理提供可靠保障,挖掘大数据的价值。
这里推荐一个大数据开发交流圈:658558542。里面整理了大量的学习资料,都是干巴巴的资料,包括大数据技术介绍、大数据离线处理、实时数据处理、hadoop、火花。 、flink、推荐系统算法和源码分析等,送给每一位大数据小伙伴,让自学更轻松。这里不仅是新手的聚集地,还有专家的在线解答!欢迎初学者和进阶的朋友加入群里一起学习、交流、共同进步!
数据集成开发平台
数据集成开发平台是京东大数据发展的里程碑产品。它的出现结束了数据分析师和业务部门数据需求人员通过客户端工具手动提取数据的痛苦经历。 ,并直接影响了数据知识管理平台等后续产品的出现。目前,平台用户近千人,数据订阅任务总数超过4万条。
早期版本的数据集成开发平台被命名为数据采集工具,数据采集也是当时对这款产品寄予的最重要的期望。我相信每个公司对数据都有“迫切的需求”。随着京东的快速发展,流动且快速流动的数据就像人体内的血液一样不可或缺。所以,数据分析师永远是最忙的。每个月初,当需要支持财务运营分析的人需要提取数据时,就必须拉拢很多工程师来参与这场数据提取之战。在前后端数据部门合并后最疯狂的日子里,数据部门出现了“全员提数字”的场景。
在此背景下,数据集成开发平台1.0版本诞生了。这是一个查询数据并支持定期数据订阅的产品。它还连接京东的私有云服务jbox,允许授权人员安全、便捷地查询和提取数据,特别是对于那些需要定期提取大量数据进行分析的人(如财务运营分析同事)非常有帮助。
从功能上来说,通过web进行在线数据查询和数据订阅是两个主要功能。同时sql编写界面还支持元数据信息的查看,并且可以在线保存正在编辑的代码,这对于数据采集者来说是一个很大的方便。带来了极大的便利。底层访问的数据库包括当时存在的sql server、mysql、hive。 sql语法方面,可以根据不同的数据库类型选择不同的语法。其他执行逻辑相同。
偶尔使用extjs的前端页面会出现一些小bug,比如滚动条失效,对用户体验造成一定的影响。另外,虽然extjs强大的表单功能使得集成开发平台等富客户端应用成为可能,但其ui风格的局限性也非常明显。随着后期产品线的丰富,新推出的产品都放弃了extjs,改用bootstrap前端。 2014年7月起,采用了新的前端技术、数据集成开发平台以及后期推出的数据知识管理和数据质量监控。产品整合后统一为一个系统并上线上线。
数据知识管理平台
数据知识管理平台产品的出现是水到渠成的结果。数据仓库模型规范确定后,元数据信息也有了标准的分类体系。元数据信息按照标准分类体系进行分类管理,并提供内容搜索、类似wiki的编辑维护、咨询评论功能。数据知识管理平台呈现给大家。在后期的版本升级过程中,提供了维度表的维护功能,给同事们进行模型开发和维护带来了很大的便利。
京东分析师
Aprison(杏子)、blueberry(蓝莓)、cloudberry(云莓)、水果连连看?不,这是报表展示平台三个版本的代号,也是产品域名的第一串。第一个字母是abc,代表产品进化的过程。当前版本代号为cloudberry,产品正式名称为jd analyst。毫无疑问,我们赋予这个产品的不仅是基本的数据可视化能力,还有数据分析能力。
使用过tableau的用户一定会被它灵活的控制台和精彩的图表呈现所征服。我们做的就是尽可能在web系统中实现tableau桌面系统能达到的效果,在产品服务能力上更加强调自助式智能软件分析平台。
在技术架构上,京东分析师自主开发了前端可定制的展示布局,封装了丰富的图表展示组件。后端报表配置系统支持mysql、sqlserver、oracle、api和hive作为数据源,并支持在线访问。在交互方面,报表采集、基于图表的条件过滤、数据排序、深钻是其基本功能。自定义报告页面还提供邮件推送报告的功能。当某个报告数据很重要时,系统可以定期通过电子邮件发送报告。发送报告以供审核。对于自己权限范围内可以浏览的表格,系统还可以根据浏览记录将经常查看的表格排在最前面,以提高体验。
数据挖掘平台
大数据的数据挖掘与传统的处理方法有很大不同。京东数据挖掘平台产品定位于打造一站式数据挖掘算法平台。基于基础机器学习算法,可根据具体实际业务进行定制化产品的开发和定制。算法满足算法应用场景。该产品主要采用分布式计算,采用适合机器学习算法的计算模型进行迭代,解决大量数据的算法处理问题。平台封装的交叉验证、网格搜索等数据挖掘基础流程,为数据挖掘人员提供了简单易用的挖掘工具。
为了降低数据物化成本,挖掘平台采用基于内存的存储引擎,集群资源调度和管理基于hadoopyarn框架,保证集群计算性能的高可用性和可扩展性。平台自2014年中正式上线以来,开始为广告系统、推荐系统等提供个性化数据挖掘算法服务。
数据质量监控平台
数据的及时性、准确性和完整性关系到一系列数据应用的有效性。从大数据平台建设开始,我们就开始实施数据治理相关工作,统一数据计算。 calibre,设定数据验证规则,保证数据质量。数据仓库升级后,更加关注数据质量,所以从产品层面进行管理。从数据生产过程来看,数据质量监控平台的基本功能包括数据生产过程中的质量检查、数据入库后的质量评估、所有生产日志的扫描归档、生成数据质量分析报告。
数据生产过程中的质量监控主要对数据生产中源表结构的变化和字段信息的一致性进行规则验证,并根据验证结果进行质量评估。有质量问题的数据将自动重新运行并通知后续的依赖任务。数据入库后,会按字段粒度对数据进行检查。可以对枚举值、字段类型,甚至数值字段的最大值、最小值和平均值进行检查,以确定数据变化是否在合理范围内。 。
感谢您的观看。如有不足之处,敬请批评指正。
还没有评论,来说两句吧...