最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
开启左侧

独家解读:京东架构师眼里的京东大数据平台

[复制链接]
发表于 2016-12-30 17:11:54 | 显示全部楼层 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
京东大数据平台部架构师赵国梁作为大圣众包在线沙龙的主讲嘉宾,从技术、应用、运营三个维度对京东大数据平台做了详细解读,群友表示干货太多,受益匪浅。沙龙会活动主要分为嘉宾发言与互动交流两部分。现为大家实录如下:
  赵国梁嘉宾精彩发言
  嘉宾分享的主题由以下3部分组成:
  技术——京东大数据平台的发展历程及概况,以及构建了怎样的架构来处理巨大的数据量并满足不同业务应用场景的需要。
  应用——如何通过大数据分析和挖掘来进行产品创新,提高用户体验和创造用户价值。
  运营——如何通过构建大数据平台的生态来提升平台的服务水平和能力。
  1
  技术部分
  1.专家拆解京东“大数据”平台的革命性发展阶段
  “大数据”是最近很热门的话题,我们该如何理解大数据呢?
  据京东大数据平台部知名架构师赵国梁认为,大数据是一场革命,其驱动了数据处理技术新一轮的架构性变革。以下图为例,我们可以清晰看出京东大数据平台所经历的几个阶段的发展。
  (图:京东大数据平台的几个阶段的发展)
  在关系数据库年代,京东先后使用了Oracle ExaData 一体机和Mysql数据库,而随着业务的快速发展,数据量急剧膨胀,很显然,传统的商业软件已经满足不了日益渐增的需求了。
  于并存年代,随着“雪耻”项目的启动,京东开始研究和使用hadoop开源技术框架来搭建数据平台。当时是边研究边开发,因此在Mysql平台上遗留了一些数据处理任务。在2012年,Hadoop集群已初具规模,数据抽取、处理已逐步在新的数据平台上开发。
  随着科技的发展,大规模集群年代来临,集群数量更是急剧增加,数量级从百台上升至千台,所有数据任务全部迁移至新平台,同时,围绕大数据平台的工具/产品体系也基本完成。
  在复杂计算年代,京东搭建了Spark集群,着力研究数据挖掘算法平台。同时,为了满足实时业务场景的需求,基于Kafka+Storm用于处理数据流,京东也突破了数据库实时数据抓取技术,并实现实时计算平台的逐步搭建、完善,Persto、ElasticSearch等集群也同时开始使用。
  2015年,虚拟化、自动化、集成,成为京东大数据的关键词,京东不仅开发自动化运维工具,更使用Docker容器做资源隔离,以及改造了Yarn框架,集成了Persto等。2016年,京东将继续以高端科技和架构使运营更为有效快捷。
  2.在数据面前没有秘密,一切都是透明的
  (图:目前京东的大数据平台概况)
  据悉,京东大数据平台的数据主要来源于京东自营电商业务和POP平台业务,以及京东金融、京东到家(O2O)、京东智能、海外业务、供应商、O2O合作伙伴等。其覆盖了采购、订单、仓储、配送、售后以及用户在网站浏览和搜索的数据,是电商产业链上最全的数据。
  虽然目前公共数据和社会服务数据相对较少,这是因为公开的、有价值的数据不多,而且从外部网络上爬取得数据也不多。架构师赵国梁更透露:“爬虫是个有意思的事情,一般电商网站都会有‘反爬’的一些措施,主要是避免商品价格等一些关键信息的泄露。目前有专业的公司通过从网页上爬取相关的信息,并通过数据模型算出公司的销售额、成本、利润等等相关的数据,所以有句话说——在数据面前没有秘密,一切都是透明的。”
  3.深度剖析京东大数据平台逻辑架构与技术架构
  京东大数据平台从逻辑架构上来看,主要分成离线数据平台和实时数据平台。
  离线数据平台指的是,主要以Hadoop+Spark为主,以满足日常批量数据抽取和计算的要求。应用Spark,是基于其内存并行计算的框架能够满足高效运行各种并行化挖掘和机器学习算法的需要,实现对海量数据的挖掘,以及为一些重要的任务提高效率。
  实时计算平台,意即覆盖实时数据接入、存储、处理全流程基础的实时数据平台,其自助研发的实时数据接入系统,可满足各种数据源的实时采集,基于Kafka的分布式消息队列,满足数据的暂存、桥接,其工作原理是基于Storm的实时数据流处理。
  (图:京东大数据平台逻辑与技术架构)
  技术架构上也是随着Hadoop版本一步步升级过来的,因为不同的Hadoop版本带来了不同的技术特性。
  目前的技术架构集成了Spark、Hive、Mahout、Presto、Hbase等众多的技术工具,是基于Hadoop 新版本的Yarn资源管理框架来集成的。Yarn是Hadoop体系的一个重大进步,因为它作为一个通用资源管理系统,可为上层应用提供统一的资源管理和调度。
  (图:离线平台的技术架构)
  为了让开源的Hadoop技术框架能更适合京东运营的实际情况,技术团队对源码做了很多的改动,这是为什么写京东Hadoop和京东Hive的原因,比如用户权限管理、多NN节点、关键目录保护及回收站保护等。
  4.模块独立的模型层次
  京东大数据平台从建立之初就是公司的统一数据平台,从模型层次上划分为4个层次:
  BDM:缓冲数据,源数据的直接映像
  FDM:基础数据层,数据拉链处理、分区处理
  GDM:通用聚合
  ADM:高度聚合
  “京东的模型层次和传统的数据仓库模型设计是类似的,它借鉴了传统仓库的一些模式,不同的是,它很少像传统的仓库模型设计般进行范式化和打散再整合的处理。一个原因是这样做数据太庞大了,动辄上亿行的记录,传统的做法是玩不转的;另一个原因是,业务系统的设计从先天上避免了之前银行信息散落的模式,用户注册统一在一个地方,订单、仓储、配送、售后均是独立设计系统,相对来讲业务模块独立,其基本以订单为线索,串起了信息流。”
  5.新的技术也在关注,这是个循序渐进的过程
  “工欲善其事,必先利其器”,数据平台的目标是打造一体化、自助化的平台,围绕数据平台的管理和运营,京东开发了一系列工具来做好管理、提升效率。
  (图:京东开发一体化、自助化平台)
  数据工场:开发了数据抽取工具(离线和实时),允许业务部门自助配置抽取数据;开发了IDE,用于开发人员的数据查询、数据订阅需求,可连接Hadoop、Spark、Presto、JES、Hbase等数据源。数据知识是元数据管理工具,监控中心可做到对任务和机器的全面监控。
  数据应用:包括了自助定制报表的工具,流量分析平台,OLAP分析工具,仪表盘工具以及用于移动端的工具(可用于任务管理、数据查看、会话、监控查看、工作任务监督等)。
  运营中心:用户权限申请、审批、分配等。
  实验室:主要是对一些新技术的研究和应用,数据挖掘平台用Scala实现了GBDT、LDA等算法模型,机器学习算法的研究,语音、图像识别以及文本分词和挖掘等。
  2
  应用部分
  (图:用户画像)
  用户画像是最基础、最重要的数据分析结果之一,是精准营销、产品创新、个性化服务的基础。何为用户画像?百度解释:通过用户调研去了解用户,根据他们的目标、行为和观点的差异,将他们区分为不同的类型,然后每种类型中抽取出典型特征,赋予其名字、照片、人口统计学要素、场景等描述,使之成为一个人物原型(personas)。用户画像是动态的,是用户行为数据的真实还原,是基于场景的还原,但也可能代表了不是“真实身份”。基于用户画像的应用很多,比如搜索、推荐、EDM等,不一一列举了。
  (图:个性化推荐)
  个性化推荐是用户画像中一个典型应用,个性化推荐的目的是实现千人千面,打造极度的个性化商城,实现因人而异,从着陆页到个性化搜索排序都具有很强的针对性。
  (图:基于大数据分析结果的反向定制生产模式)
  上图为另一个应用的举例,是基于大数据分析结果的反向定制生产模式。基于用户购买商品的数据分析,可以得到用户对产品的喜好,将这些数据反馈给产品生产厂家,可以使厂家在产品的创新和设计上有的放矢,缩短产品的生产周期,减少生产成本和增加销量。这种模式应用范围很广,目前从手机扩展到其他的家电品类都适用。类似的数据产品还有数据罗盘和供应商罗盘。数据产品是数据变现很好的一种方式,数据罗盘能让一个产品每年给京东带来超过千万的收入,这还是初期阶段。
  基于用户购买行为和地理位置的分析,可以对城市的商圈和生活圈做精确定位,数据可提供给商家使用,有助于商家根据所处的商圈及购买人群调整自己的定位和货品,店面选址等。类似的例子有很多,如产品动态定价、减少拆单、配送路径优化等,都是基于大数据分析的应用。
  3
  运营部分
  (图:打造一体化、弹性化、自助化的数据平台)
  打造一体化、弹性化、自助化的数据平台,是运营的一大胜利法则。
  平台的服务水平和能力包括以下几点。服务标准:建立服务标准,基于SLA的服务目录和等级建立,规范模型、数据质量、权限等。服务能力:提升服务能力,通过大数据专家认证培训平台使用人员,经过认证的人员才能开通使用权限,保证平台使用的可靠性,并通过提供一站式的服务平台,让用户可以自助完成数据源接入、报表定制、数据订阅、数据查询等工作,解放数据平台人员的工作压力,研发平台化产品和新技术,如数据挖掘平台、深度学习算法等,提高技术水平,促进工作效率。控体系:庞大的机器集群,维护绝对是个非常严重的问题,上万台机器和几十万的任务数量,如果没有一个完整的监控体系,维护起来相当吃力,大数据平台搭建了完整的监控体系,对机器的CPU、内存、存储、端口存活、任务状况等数据进行收集和分析。
  结合京东的数据平台的工具/产品进行定期的运营报告加以分析,大数据认证是为了提高应用大数据平台的人员能力和水平,也是生态体系建设的一个重要方面。
  (图:京东的数据平台的工具/产品进行定期的运营报告)
  (图:集群监控的一些节目)
  包括集群监控的一些节目,以下为其界面,清晰有序。
  (图:集群监控节目界面)
  “毕竟运维是大数据平台中非常重要的一个环节,面对上万台机器和几十万的任务,如果没有一个好的制度和体系,那绝对是灾难性的。”架构师赵国梁如是说。
  嘉宾与群友问答集锦
  经过“大圣众包”服务号诚邀的京东大数据平台部知名架构师赵国梁深入浅出的讲解后,终于来到群友们期待已久的发问时间。
  问1:集群负载均衡用的什么?
  答1:service的负载均衡。
  问2:有没有用nginx?
  答2:ngnix主要用于Web。
  问3:机器学习这块用了些啥?r?python?还是直接写java?
  答3:机器学习用的是Python和Scala。
  问4:传统企业的精准营销等数据应用还是业务方主导或者是要靠业务端支持才能做下去的,京东现在的数据应用是数据驱动的还是业务提出的想法呢?
  答4:目前每个业务部门有自己的数据分析团队,我们平台本身也有数据分析团队。
  问5:提数需求如何满足?
  答5:数据订阅可以在IDE工具完成,或者专门的提数由人员对接来提供。
  问6:能都解释下什么时候用python?什么时候选择scala?
  答6:现在一般都用spark性能比hadoop好很多。
  问7:目前hadoop 的稳定性如何?
  答7:稳定性还可以,也会发现Hadoop体系本身的一些BUG,都靠改源码或者通过其他途径来避免。
  问8:京东现在有多少Hadoop 数据节点?单机配置如何 ?
  答8:现在的节点数大概在万台左右。
  问9:能讲讲京东的HA这块么?
  答9: Hadoop是文件系统,数据是以文件形式存储的。而且,Hadoop本身是一个完整的体系,资源调度管理,都有它本身的技术架构来解决。
  (图:Hadoop是文件系统)

楼主热帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-19 09:24

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表