资源描述
直播行业混合云模式下 MaxCompute+Hadoop 混搭大数据架构实践 4多媒体行业基于 MaxCompute 的媒体大数据开放平台建设 10 基于实时计算(flink)打造舆情分析平台新华智云 16新零售行业MaxCompute 助力衣二三构建智能化运营工具 22物联网行业塑云科技:性能突破,基于 KafKa+OTS+MaxCompute 完成了 一次物联网系统技术重构 29金融科技行业交易数据清算从 8 小时缩至 1.5 小时,飞天大数据平台 MaxCompute 解决余额宝算力难题 33社交行业小打卡:基于 MaxCompute+PAI 的推荐算法实践 37小打卡:快速部署大数据计算平台实践 42基于 MaxCompute 搭建社交好友推荐系统 49发光的二次元克拉克拉上云实践 58家居服务行业万师傅大数据体系实践案例 68互联网行业基于实时计算(Flink)的商场实时客流分析系统上海鸥新 74泛娱乐行业基于 MaxCompute 构建 Noxmobi 全球化精准营销系统 78目录混合云模式下MaxCompute+Hadoop混搭大数据架构实践张龙斗鱼大数据高级专家简介:2019 杭州云栖大会大数据企业级服务专场,由斗鱼大数据高级专家张龙带来以“混合云模式下 MaxCompute+Hadoop 混搭大数据架构实践”为题的演讲。本文讲述了从 Apache Hadoop 阶段到 Cloudera CDH 阶段斗鱼大数据架构的发展历程。提出了上云过程中斗鱼遇到的问题和跳战,包括数据安全、数据同步以及迁移任务。概括了混合云模式给斗鱼带来资源效率更高和资源成本更低的变化。斗鱼大数据架构发展历程在 2014 年中期,斗鱼就开始使用大数据,最开始使用的是简单的 HBase 和Hadoop。在 2015 年,开始使用 CDH 运维大数据集群,主要针对可视化运维。在2017 年的下半年,斗鱼开始接触阿里云大数据的一些产品,并且与其他产品做了对比。最终选择了阿里云的 MaxCompute。Apache Hadoop 阶段由于业务场景比较简单,组件较少,并且使用的人也少,但可以灵活的操作,同斗鱼斗鱼是非常关键的。其次是如何保持数据同步,是因为云上云下存在着海量数据。最后,因为云下存在大量的历史业务,那该如何将业务安全迁移到云上也是一个问题。如何保证数据安全?对于数据丢失的问题,阿里使用原始数据进行备份,这是很关键的。对于核心数据泄露问题,几率是很小的,因为泄露数据之后所要承担的风险远大于打败竞争对手所提供的收益。对于云环境面向外网,如何保证安全访问的问题,可以增加账号访问IP 白名单及审计,设置公司内部才可访问。如何保持数据同步?由于每天会产生 PB 级历史数据和 TB 级数据增量。如何快速准确同步数据问题,可以使用数据同步工具,主要是基于 DataX 的改造。同时提高网络专线能力,增加多根专线,自动地进行异常切换,与云上平台业务进行隔离。利用数据校验工具,校验数据同步任务以及数据量。如何安全迁移业务?业务的安全迁移需要做到三个要求:1.不能引起故障,保证迁移可行性验证。2.迁移成本不能太高,业务侧尽量少改动。3.能上云也要能下云,尽量保证云上云下操作一致性。为了做到不引起故障,要做到三个需要:需要做业务场景测试,保证业务场景全部覆盖到,并且能够识别能够迁移的业务场景。需要数据质量检验,确保相同业务云上云下产出数据的一致性。需要数据效率验证,确保云上任务数据产出时间,同时不影响业务。如何保证较低的迁移成本?斗鱼在 IDC 中运行的任务主要分两部分,第一部分是 Java 任务,占比很小,特点是基于封装的 HiveClient 工具进行查询计算。第二部分是 XML 配置化任务,特点是基于自定义 XML 文件,支持 HiveSQL 统计后导入其他存储。针对这些任务的特点,斗鱼也做了相应的改造。针对封装 OdpsClient,可以将 HiveClient 改成 Odp-斗鱼斗鱼一些变化,包括提前半年或一年提预算变成按量付费,采购耗时 1 到 3 个月变成资源可以无限使用,机房上架 1 周以上变为无机房概念。相比于 IDC 自建集群,MaxCompute 每年大概节约 1000w 成本,保障集群零故障。同时也有一些附加的收益,包括阿里云的专业服务,当遇到技术问题时可以请教阿里的专家来帮助解决,以及计算资源可以量化,可以知道钱花在哪些业务了,以及与阿里专家交流,帮助解决业务难题。在自建机房时,斗鱼也做了一些开发,下图所示为数据开发,包括基于 Hue 的查询计算和云上的 DataStudio 数据开发,然后将 Hue 的 API 和 DataStudio 的API 集中起来形成斗鱼的大数据开放平台,作用是可以提供给数据部门的人使用,也可以提供给业务部门的分析人员使用。斗鱼9此外,斗鱼也做了一些实践,称为多活数据中心,如下图所示。斗鱼通过确立自建机房的数据和阿里云数据在这两个数据中心的角色,保证可以在多活数据中心的状态下支撑更多的业务。混合云带来的变化总结起来,资源成本和资源效率是最大的两个变化,还有可量化的成本、增值服务、额外的专业服务等,不仅可以给我们自己部门人员用,还可以给其他业务部门的人来用,并且他们对使用成本也是直接可见的。以上就是我今天的分享,谢谢大家。基于 MaxCompute 的媒体大数据开放平台建设李金波新华智云首席数据官摘要:随着自媒体的发展,传统媒体面临着巨大的压力和挑战,新华智云运用大数据和人工智能技术,致力于为媒体行业赋能。通过媒体大数据开放平台,将媒体行业全网数据汇总起来,借助平台数据处理能力和算法能力,将有价值数据内容和能力开放给用户。本文主要从新华智云数芯平台,媒体行业数据特征,批流处理数据架构,以及通用的媒体大数据平台能力等几个方面介绍了如何基于 MaxCompute 做媒体大数据开放平台建设。本次的分享主要围绕以下五个方面:一、关于新华智云二、数芯-媒体大数据开放平台三、媒体大数据平台能力四、Project 依赖五、几点小提示一、关于新华智云新华智云是新华社与阿里巴巴合资成立的一家公司,主要面向运用大数据和人工智能技术,致力于为媒体行业赋能。随着自媒体的发展,自媒体公司非常的火热,如今日头条,抖音等。对传统媒体来说,面临着巨大的压力和挑战。传统媒体急切的希望互联网的技术帮助他们赋能。媒体大脑-数芯媒体大脑是新华智云底层的产品品牌,数芯是媒体大脑基础的数据平台。数芯定新华智云新华智云版权检测,传播分析等能力。媒体数据特征媒体大数据有三大特征,第一,媒体数据是非结构化性非常强。与传统行业数仓最大的区别是媒体行业 90%以上数据都是非结构化的,如文本,图片,视频等等。第二,数据来源多样性。媒体行业数据有多种外部的数据源,它们有不同的数据提供的方式,提供不同的数据能力。所以必须要有强大的数据汇总能力才能将所有数据汇总在一起并服务好下游客户。另外,数据效性要求非常高。媒体行业天然追逐新闻热点,假如知道一个事件是潜在的热点,媒体希望第一时间对热点进行追踪,报道和解读。媒体机构希望通过数芯平台,能够最快的发现互联网上发生的事情,发现热点之后以最快的方式,将结构化后的数据给到用户。批流处理结合基于媒体行业数据的特征,数芯平台采取批,流结合的方式解决目前客户和业务场景对数据的要求。批指的是大量的计算,基于平台特征完成复杂的模型,算法训练,长周期计算,文本实体识别,文本挖掘,借助批量的能力解决数据更深度,更大规模的加工。流指的是流式的计算,完成数据的清洗,结构化,轻计算和实时统计。出来一篇新闻,在整个新闻流传的过程中实时的将信息处理好。目前数芯整体的流计算大概需要 300 毫秒,即一篇新闻从源头过来,存储到平台,服务化出去中间需要经过 300 毫秒的时间。批流结合的数据架构数据从不同数据源过来,如 API,OTS,ROS,log,file 等,一方面数据要在实时计算当中做 URL 去重,正文结构化,标记来源,垃圾识别,实体识别和轻度的实时统计。另外基于 MaxCompute,利用 DataHub 将数据存储在批处理平台中,由于流计算本身不做持久化存储,所以所有数据都将存储在 MaxCompute 上。数据存储之后做主题建设,关系挖掘,知识图谱计算,算法训练。通过批流结合的的处理新华智云新华智云很多品牌会瞄准自己的竞争对手,调整品牌战略,实体关系图谱对很多公司品牌运营的推广有很大的帮助。情感分析情感分析也是媒体大数据平台中比较通用的能力,当一篇新闻出来之后,用户需要知道是情感上褒义还是贬义。信息数量少的信息可以人工判断,但是如果每天有上千篇,上完篇的内容就无法通过人工来判断。媒体行业的情感分析与学术上的情感分析有差异。目前,自媒体出来之后短文本的内容越来越多。短文本的情感分析和长文本的情感分析不同,以往都是采用同一个算法实现情感分析,但发现效果并不好。现在,数芯将情感分析场景分开,微博短文本的情感分析用 Word2vec+LSTM,新闻类的长文本的情感分析用 Word2vec+CNN+RNN。分开之后发现每一类情感分析的效果都有所提升。内容去重内容去重是媒体大数据平台非常重要的一部分。去重能力是对于常见的新闻摘录,编辑,删减有准确的判重能力。一篇新闻并不是只由一个人写,它会被很多机构和渠道所转发。如何知道一篇新闻在哪些渠道被转发,其实就是通过去重的方式实现的。通过从大量的渠道汇集数据后,平台需要比对一篇新闻与之前哪篇新闻相似,通过相似度的比对得到结果。最早的时候,去重是基于关键词进行比对,数芯采取关键词和语义,两种方式比对,去重效果明显提升。内容去重可以用于新闻的热度计算,新闻数据顾虑清洗,文章版权追踪等业务场景。内容标签化搜索引擎可以用来搜索新闻,通过关键词和文章的匹配度来决定这篇内容是否推荐给用户。但纯搜索的方式已经满足不了用户家的需求。今日头条之所以成功,是因为它基于新闻和用户的习惯推荐内容。内容标签化就是通过机器的方式理解新闻,理解新闻与哪些信息相关,基于文本挖掘的手段,实现对于全网采集的内容数据进行分类打标。新华智云15四、Project 依赖很多时候,使用大数据平台要不要分项目都是一个很难的抉择。不分项目的好处是开发人员都在同一个平台工作,互相之间不需要太多的授权,整体工作效率会比较高。分项目的好处是利用不同平台做不同的业务会更清晰,更具条理性。数芯在开始使用 MaxCompute 时,便采取分项目方式,其考虑的原因有以下三点。首先,分项目可以区分业务优先级,避免低优先级任务影响高优先级的数据产出。另外,可以区分资源消耗型,避免出现高资源消耗任务整体影响数据产出。还有区分内外服务,避免内部服务互相交叉影响。总体上,分项目可以为数据产出的稳定性提供很好的保障。五、几点小提示首先,由于媒体行业大部分数据都是非结构化的数据,会造成对单字段的容量要求比较大的问题。而且不同的平台和传输工具对于数据的字段大小的限制不同。在从不同平台做数据传输时,尤其需要关注这个问题。第二,能用 UDF 解决的问题,不要使用 MR。使用 UDF 可以提高开发和运维的效率。即尽量用简单的表达式处理逻辑,这对整体数据产出稳定性有好处。第三,对查询效率要求不高的数据报表可以直连 MaxCompute,减少中间环节。如此可以大大减少数据转换和数据维护成本。第四,Datahub 一方面可以接数据源,另外还可以较好的串联批,流之间的计算流程,保持数据一致性和形成依赖。第五,合理设计批,流的数据处理分工,减少重复计算。第六,媒体大数据经常需要运用不同的算法,PAI 可以帮助解决很多算法问题,减少开发的工作量,提高数据处理的效率。基于实时计算(flink)打造舆情分析平台新华智云郭华(付空)阿里云实时计算高级产品经理新华智云是一家致力于通过大数据技术驱动媒体变革的公司,数芯是新华智云推出的实时舆情分析平台,旨在满足用户一系列舆情分析需求。包括:对事件、新闻、媒体、人物、地域、机构、行业,甚至关键词、热门话题等的抓取、识别、聚合、热度分析以及可视化展示等。总览新华智云新华智云 数据上游:爬虫数据和采购数据。爬虫采集不同数据结构类型的平台数据。数据下游:写入不同的存储系统。如统计结果写入 RDS,清洗后数据写到OTS 中,文章存储到 ES 中做索引等等。如果设计不合理,多上下游将会极大影响系统复杂度。数据处理过程包括数据清洗和数据统计 清洗过程既有基于规则的信息抽取,又有基于算法的实体识别。统计过程需要先把数据结构化拼装,然后按照各种维度进行灵活的统计。具有自我迭代的能力设计良好的舆情分析系统应该具有自我迭代的能力,能够根据历史数据进行优化,不断提供系统效能。系统架构大数据舆情分析系统架构图如下。舆情规划是整个系统的控制器,控制着舆情发现的目标、信息源等;信息获取是舆情分析的基础,能够快速、准确的获取足量信息是系统成功的前提;信息处理与算法部分是舆情分析的关键,担负着把原始数据加工成信息与知识新华智云新华智云始数据、结构化的数据、汇总的结果都发布到下游存储系统中。数据清洗:对爬虫抓取的数据进行清洗,比如垃圾过滤、文本去重等。这一步通过实时计算提供的 UDX(自定义函数)来调用算法服务 API来完成;目标提取:从已经完成清洗的数据中抽取出感兴趣的目标,比如抽取实体(人物、地点、事件等),对内容的情感评分,抽取文章关键词等,这一步的目标是从非结构化的文本中抽取结构化的信息;结果聚合:对已经结构化的数据按维度聚合,比如某事件的按天计数,某新闻的传播热度等。最终把这些聚合信息联合原始信息分别写到下游存储中去。算法服务 API 预先训练好模型,把垃圾过滤、文本去重、实体提取、情感打分、关键词提取等暴露成 API 服务,供实时计算调用。数据存储与服务 RDS 保存聚合数据,OTS 保存原始新闻,ES 对新闻建立索引,提供搜索服务,这三个数据存储直接为最终产品服务。总结数芯之前数据处理部分使用的是自建的 spark,需要自行运维和对接各种上下游系统,迁移到了阿里云实时计算平台,整体收益包括:运维成本:免运维,阿里云提供高保障。对接上下游:直接注册,免开发。开发成本:SQL 开发,效率高,门槛低。数据流:一个产品串起整个数据流,ETL 用 UDX,统计用 SQL。从更高的维度上看,这个案例属于实时 ETL 场景,实时 ETL 的目标把数据从新华智云21a 投递到 b,中间进行清洗、格式转化、信息抽取等。如果对吞吐、实时性有一定要求,可以在方案阶段优先考虑实时计算产品。注:本文部分内容来自新华智云工程师杨丛聿的分享,特此感谢。如果您有需求,欢迎联系付空。MaxCompute助力衣二三构建智能化运营工具程异丁衣二三 CTO摘要:本文由衣二三 CTO 程异丁为大家讲解了如何基于 MaxCompute 构建智能化运营工具。衣二三作为亚洲最大的共享时装平台,MaxCompute 是如何帮助它解决数据提取速度慢、数据口径差异等问题呢?程异丁通过衣二三数据体系架构,从用户运营应用、商品运营应用以及算法推荐系统三方面给大家剖析了 MaxCompute 是如何助力衣二三构建智能化运营工具的。衣二三是谁?衣二三是亚洲最大的共享时装平台。衣二三提供女性服饰包月租赁制服务,会员们在 APP 上挑选喜爱的衣服,可以在平台上用固定的月费在一整月内不断地换穿衣服,衣二三通过快递将衣服送到客户手中,客户只要会员期有效,就可以一直穿这件衣服,当会员不想穿的时候,衣二三还会通过快递按照约定的时间地点将衣服收回,这样会员就可以继续下新的订单,可以不断地换穿各种衣服。我们的客户从没有毕业的学生到工作多年的白领,多种类型的客户都能从 APP 上找到合适自己的衣服。如今,电子商务发展非常成熟,线下逛街也是大家喜欢的生活方式,那为什么在这种情况下还要租衣服呢?衣二三为客户解决了以下几个痛点:衣二三衣二三度和业务的指标有相应明确的定义,造成所有的逻辑都在 SQL 中。Python 脚本实现基础 ETL。作业调度与依赖难于维护与迭代,运维也是比较令人头疼的,修复时间长。人工数据提取及报表制作。工程师忙于提供各个业务部门的数据支持。这些问题促使我们想要做出改变,起初我们想做一套完整的 hadoop 全家桶进行替代,但评估后发现其运维代价和资源消耗对于我们的数据团队和运维团队来说,都是比较大的负担,而且很难快速体现价值。后来,我们很幸运的遇到了 MaxCompute,从试用开始,我们逐渐把数据仓库和数据体系建构在 MaxCompute 上。MaxCompute 有哪些好处呢?主要从以下几个维度来分析:1.MaxCompute 是基于云端的大数据仓库,无需复杂作业运维工作2.数据吞吐量大,查询性能好,支持 UDF3.可视化任务编辑界面,易于上手4.使用成本低,适合初创公司5.与阿里云大数据产品生态融为一体,比如 RDS,应用层的 Quick BI,Blink以及日志服务。如何应用 MaxCompute?衣二三衣二三PAI,我们建立了预测模型,预测用户的转化率等;引入流失预警计算体系后,运营根据用户的流失指数进行精准挽留营销,将会员流失降低了超过 50%。商品运营应用衣二三的每一个商品都有结构化的数据,我们专业的买手会给商品打上 20+维度的标签。此外,我们会总结用户行为,用户与商品之间的互动都放在 MaxCom-pute 中做相关性分析,形成商品的一系列指标,比如爆款识别,通过爆款识别去预测满足哪些属性和维度的衣服会形成爆款,我们的买手会带着数据工具一起进行采购,极大的提高了运营效率。我们还结合商品各个表现维度,包括库存深度、出租情况等计算出衣二三指数,它可以对商品进行排名。除了给合作伙伴应有的租赁收益外,我们还会提供数据工具,最大化业务模式的价值。衣二三衣二三衣二三的推荐算法也是基于 MaxCompute,把用户对商品的行为通过日志收集到 MaxCompute 中,对用户进行用户画像,对用户画像进行模型训练,最终落地到商品列表展示给用户。使用推荐系统给我们的业务带来很大提升,选衣页推荐的点击率增加了 70%,人均点击数增加了 50%;相关单品推荐的点击率增加了 150%,人均点击率增加了 110%。总结下来,大数据的魅力大家已经认识到,MaxCompute 这样的产品对于初创公司来讲将大数据门槛降的非常低,让大数据能够面向各种各样的公司来贡献力量和发挥价值。谢谢在场各位的倾听,以上就是我的分享。塑云科技:性能突破,基于 KafKa+OTS+MaxCompute完成了一次物联网系统技术重构武良军塑云科技 CTO背景:创业团队,专注于氢能燃料电池生态链的运营支撑,当前主要的业务组成为新能源车整车实时运营监控分析,加氢站实时运营监控分析,车辆安全运营支撑。系统面临的主要挑战:高频数据的实时解析、存储、分析。拿整车实时运营监控分析来讲,每辆车以每秒 1K 的原始报文上报,要求做到秒级延迟的解析应答以及入库。同时需要针对解析后的每车每秒 33K 的报文进行快速查询以及后继的分析。考虑到未来车辆接入的量,需要在考虑性能的基础上以最经济的方式进行系统设计。按照每车每秒 33K 的解析后报文,每车每月预计生成 30G 的报文数据(车辆按照每天运行 10 小时计算)。原有系统存在的问题如下(罗列部分):1.系统架构中未对 OLAP 和 OLTP 系统的范围进行清晰界定,使用 JAVA 程序对 OTS 的表定时进行任务统计,代码复杂并且性能极差并且影响到服务器上其他 OLTP 系统的正常运行。2.存储的解析后的报文数据,未针对 OTS 的计价规则进行针对性优化,一个大 JSON 串中冗余的 KEY 过多,KEY 的长度超长(平均 30 个字符串)。3.OTS(阿里云 tablestore)按照公司进行分表设计,存在单个实例下表数量超过 OTS 限制(64 表)的风险。4.OTS 以车月作为分区键,单个分区(30G)过大,超过 OTS 建议的 1G 推荐大小。5.OTS 单车的分区连续分布未做散列,不能在物理机器层面最优并发性能。6.没有针对最核心的读取场景(按天按车查询报文)进行编码层面的优化。30塑云科技在做系统优化之前,首先要做的就是架构层面的梳理,对产品中需要使用到的中间件产品的适用范围进行了明确的界定。数据在各个环节的流转进行明确的定义如下:这里主要的改进:一、引入 KAFKA 作为多个环节异步解耦的基础支撑,提升对终端的报文快速回复。二、引入 MaxCompute 作为 OLAP 系统的基础支撑。将复杂的业务分析转交给 MaxCompute 来处理。三、针对 OTS 的计价原则,对 OTS 的模型进行了重构(此文暂不讨论)MaxCompute 作为阿里云强大的数据分析利器,因为之前的经历相对比较熟悉。所以在这次的改造中特别针对性能、成本、可运维等方面做了较多的思考。这里首先讲一讲基于成本的考虑。首先根据数据的使用频度将数据切分为在线、离线、归档三类。车辆终端上报的报文数据作为归档数据选择 OSS 的归档存储。在线数据设定 N 月的生命周期,主要包括报文解析之后需要实时查询的数据,离线数据主要包括基于解析的报文数据进行离线分析统计之后形成的各类中间结果、报表数据。塑云科技塑云科技的时候,首先就是费钱,非常费钱。其次就是耗时,非常耗时。在离线统计分析的重构完成之后,系统充分利用 MaxCompute 的并行计算能力,并且借助其强大的函数尤其是窗口函数的支持,我们实现比较不错的分析能力,客户的一个核心部件的数据统计分析,之前一个专业的工作人员分析一个部分需要耗时一天,还容易出错。借助平台的分析能力,可以在 10 分钟内计算完将近 1000 个部件的数据分析工作。类似下面的曲线图分析每次数据波动期间的均值,之前几乎无法人工计算,即便是 JAVA 编码也是一个非常复杂的编码工作,通过平台的支持,系统处理得游刃有余。一次计流水账式的总结,且当做一次经验的沉淀。交易数据清算从 8 小时缩至 1.5 小时,飞天大数据平台 MaxCompute 解决余额宝算力难题郑林贵天弘基金大数据技术总监天弘基金作为国内总规模最大的公募基金,阿里云 MaxCompute 为我们构建了企业级一站式大数据解决方案。MaxCompute 对于海量数据的存储、运维、计算能力强大且安全稳定,MaxCompute 服务将原本需要清算 8 小时的用户交易数据缩短至清算 1 个半小时,同时减少了本地服务器部署压力,在显著提升我们工作效率的同时减少了大量开发成本和人力成本,使我们能更专注于业务发展,为用户提供高品质、高价值的金融服务。背景:随着余额宝用户数持续呈指数级增长,数据量也成倍增长。在这种情况之下,已经无法通过简单的 hadoop 集群进行数据的管理工作,而业务端面临需要通过数据了解用户、分析行为进而对业务决策和用户行为进行精准预测。基于这些业务的需求驱动需要一个大数据平台来承载,我们在对稳定性、成本、自身能力和复杂度等进行综合考量后,决定采用当前最流行和最成熟的云平台阿里云 MaxCompute。目标:搭建大数据平台从技术指标的角度是数据存储和数据计算两大目标,而从各个业务环节的角度看是数据采集、数据清洗、在线/离线分析与预测、实时/非实时查询。而业务目标是为了能够快速响应业务需求,能够为业务分析提供稳定的开发和建模平台,为业务提供逻辑清晰和灵活便捷的可视化平台。从而实现从数据支持业务到数据驱动业务的逐步升级。34天弘基金解决方案及架构:整个架构都是搭建在阿里云上的,该架构是成熟的三层架构:采集层+整合层+应用层。采集层:采集层对接了我们几乎所有的业务,采集数据的频率有实时的、分钟级、小时级、日级、月级,支持不同的采集频率,而且这些都是灵活可配置的。将采集的数据通过企业级的数据交换平台进行存储和交换,该平台使用 OSS 实现。通过 OSS 可以实现数据的中转、分发和备份存储。整合层:在 MaxCompute 整个整合层包含了五大区:缓冲区、ODS 区、整合区、主数据和汇总区。不同的区域为了实现不同的功能,缓冲区是为了在正式进入数仓应用数据模块之前进行数据质检,满足质检后方可进行真正的加工处理,避免因为数据错误污染整个数仓的数据;ODS 区是为了保留源系统格式的数据模块,一方面能够在有问题时追根溯源,另一方面能够满足部分业务的需要;整合区是数据仓库的核心区天弘基金天弘基金产品 AI 推荐:我们根据用户自身属性、交易行为、资产属性以及与他类似的用户的产品关注和交易行为,预测每位用户当前最感兴趣的基金。产品 AI 推荐与传统的仅从市场出发的产品推荐不同,我们从用户的角度,根据用户的行为数据,做出千人千面的产品推荐,提升了用户体验,并提升了交易转化率。在特征加工、模型开发、预测结果投入使用的过程中,Dataworks 为我们提供了整套技术架构,包括算力强大的MaxCompute、组件丰富的 PAI 机器学习平台以及 ADS、RDS 等产品,满足了我们各方各面的需求。小打卡:基于 MaxCompute+PAI 的推荐算法实践高清小打卡算法负责人简介:小打卡是国内最大的兴趣社群平台,每天能够产生上百万条新的内容。依托于阿里云 MaxCompute,小打卡已经完成了 TB 级数据仓库方案。在此基础之上,结合机器学习 PAI,实现了千人千面的推荐算法。前言:小打卡是国内最大的兴趣社群平台,每天能够产生上百万条新的内容。在这样超大的内容生产背景下,平台也面临着千人千面、内容分发上的巨大挑战。依托于阿里云 MaxCompute,小打卡已经完成了 TB 级数据仓库方案。在此基础之上,结合机器学习 PAI,实现了千人千面的推荐算法。本文将从技术选型、推荐架构、开源算法结合三个方面,讲述小打卡在 MaxCompute 上的一些实战经验。一、为什么选择 MaxComputeMaxCompute 是阿里云完全自研的一种快速、完全托管的 TB/PB 级的数据仓库解决方案,并且上层提供了 DataWorks 以实现工作流可视化开发、调度运维托管的一站式海量数据离线加工分析平台。除此之外,MaxCompute 还与阿里云服务的多个产品集成,比如:数据集成完成 MaxCompute 与各种数据源的相互同步 机器学习 PAI实现直接基于 MaxCompute 完成数据处理、模型训练、服务部署的一站式机器学习38小打卡 QuickBI对 MaxCompute 表数据进行报表制作,实现数据可视化分析 表格存储阿里云自研的分布式 NoSQL 数据存储服务,MaxCompute 离线计算的机器学习特征可以很方便的写入,以供在线模型使用相反,如果完全基于开源的 Hadoop 框架,从服务部署、可视化开发、代码管理、任务调度、集群运维等多方面,均需要大量的人力来开发与维护。基于 MaxCom-pute,不论是人力成本,还是计算成本,还是运维成本,都已经降到了最低。二、小打卡推荐系统架构小打卡的整个技术架构完全基于阿里云实现。埋点日志、业务数据分别由日志服务、RDS/DRDS 承担收集和存储任务,通过数据集成同步到 MaxCompute,之后便可基于 PAI 实现机器学习任务。其物理结构如下图所示。小打卡小打卡pmml 模型写入 osspai-name modeltransfer2oss-DmodelName=xlab_m_GBDT_LR_1_1806763_v0-DossPath=oss:/test.oss-cn-shanghai- pmml 文件写入 oss,然后后端服务读取 pmml 模型文件,自行创建模型在线预测。对于解析 pmml 模型文件,虽然有开源项目支持 pmml 模型加载,但是由于 pmml 过于通用,导致性能存在问题,因此我们定制化自解析模型。三、如何结合开源算法遗憾的是,PAI 提供的机器学习算法仍然有限,如果想要使用开源项目来实现算法部分怎么办呢?我们对此也做了尝试,我们则结合 MaxCompute+PAI+xLearn实现了基于 FM 算法的 CTR 预估模型。由于 xLearn 需要在单独的一台 ECS 上执行,那么问题就来了:1.如何从 MaxCompute 拉取数据,又如何上传结果?MaxCompute 提供了 pyodps,可以很方便的使用 python 读写 MaxCompute的离线表。因此,我们在 python 循环检测 PAI 任务的特征工程结果表是否生成完成。生成完成,则启动下载数据和算法训练任务。算法执行结束后,则将模型文件通过 pyodps 写入 MaxCompute,当然也可以使用 tunnel 工具来完成。2.如何周期性调度?DataWorks 上的任务与 ECS 上的任务,如何形成依赖关系?对于拉取,我们通过循环实现了 python 与 MaxCompute 表的依赖关系,那么算法训练完成了,DataWorks 的下游怎么知道呢?幸好,DataWorks 提供了 do-小打卡41while 控制流组件,我们可以在 while 条件中检测模型表相应分区的数据是否存在了,在 do 组件中,则采用 shell 执行 sleep。跳出 while 后,则下游也开始正常执行了。之后便可以将模型和映射文件同步写入到 oss,以供后端使用了。其中 do-while 结构如下:四、总结除了排序算法之外,我们还使用 PAI 和 SQL,分别实现了 item_cf 和 user_cf的召回算法,整个推荐系统完全打通。基于 MaxCompute 利用 DataWorks 调度系统,我们实现了推荐算法模型的每日自动更新。相比于模型不更新,我们对比了 60天前的模型,新的模型效果提升 10%左右。期待阿里云提供越来越丰富的功能,例如基于 MaxCompute 的 Spark 机器学习。小打卡:快速部署大数据计算平台实践李跃凯小打卡数据负责人简介:小打卡目前已为 3000 万用户提供体验服务 3.4 亿人次,内容消费 7.4 亿人次。在庞大的用户量背后,MaxCompute 产品的搭建显得尤为重要。一、业务背景小打卡致力于帮助用户成为更好的自己。目前,已为 3000 万用户提供体验服务3.4 亿人次,内容消费 7.4 亿人次。在小打卡上线初期,业务分析所需的数据主要是通过查询 mysql 库表。现在,小打卡的主要业务分析需求,包括业务报表,用户行为分析,A/B/n 实验评估,个性化推荐,数据服务等全部是借助于阿里云的大数据平台来满足。选择阿里云大数据产品的原因:1.成本低享用阿里云超大规模的云计算资源,按照实际需要采购存储和计算资源。企业无需组建专门的大数据平台部署和运维团队,在业务发展初期,极大的降低了拥有大数据平台的各项成本。2.效率高企业通过阿里云官网了解并采购所需的大数据产品,快速搭建适合业务的平台架构。阿里云大数据提供开发生产环境隔离的集成开发环境,以及完善的调度/监控/数据管理等工具能力,提高数据仓库的开发效率。小打卡小打卡面向小打卡的各项业务场景,所需的基本产品搭配:1.用户行为分析:DataWorks+数据集成+MaxCompute+Quick BI2.数据化运营:DataWorks+数据集成+MaxCompute+RDS3.线上数据服务:DataWorks+数据集成+MaxCompute+OTS/API 网关4.推荐系统:DataWorks+数据集成+MaxCompute+PAI+OSS实践 case:1.业务分析需求:监控每小时访问小打卡小程序的新增用户数及活跃用户数2.阿里云大数据产品搭配:DataWorks+数据集成+MaxCompute+Quick BIDataWorks:DataWorks(数据工场,原大数据开发套件)是阿里云数加重要的 PaaS 平台产品,提供数据集成、数据开发、数据管理、数据治理、数据分享等全方位的产品服务,一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。MaxCompute:大数据计算服务(MaxCompute,原名 ODPS)是一种快速、完全托管的 EB 级数据仓库解决方案。数据集成:数据集成是阿里集团对外提供的稳定高效、弹性伸缩的数据同步平台。致力于提供复杂网络环境下、丰富的异构数据源之间数据高速稳定的数据移动及同步能力。QuickBI:uick BI 是阿里云旗下产品,是一个基于云计算致力于大数据高效分析与展现的轻量级自助 BI 工具服务平台。3.用 2-3 个工作日,快速搭建大数据平台:步骤一:注册阿里云账号,开通 DataWorks 及 Quick BI步骤二:快速建设数仓1.在 DataWork 控制台创建工作空间小打卡将原始数据的采集层和中间公共数据的加工层分别部署在独立的项目中。小打卡小打卡数据集成可以帮助企业从异构数据源采集数据并沉淀到数据仓库阿里云的数据集成提供丰富的数据源支持:文本存储(FTP/SFTP/OSS/多媒体文件等)数据库(RDS/DRDS/MySQL/PostgreSQL 等)NoSQL(Memcache/Redis/MongoDB/HBase 等)大数据(MaxCompute/AnalyticDB/HDFS 等)MPP 数据库(HybridDB for MySQL 等)小打卡小打卡3.将数据接入 Quick BI,交付业务部门使用。目前由于小打卡分析业务的团队规模较小,仅有 10-20 人的规模,所以当前的架构是直接读取 MaxCompute 中的数据。这样做的好处是省钱,非常省钱,部署也是非常的快速。但是缺点则是查询速度较慢,只能维持在秒级,且报表的查询并法度有瓶颈。后续随着分析团队规模的增加,会适时的优化架构,引入分析型数据库产品 ADB 来提供毫秒级的速度和高并发的查询性能。基于 MaxCompute 搭建社交好友推荐系统翟永东驻云科技资深架构师摘要:本次由阿里云驻云科技资深架构师翟永东带来了“基于 MaxCompute 搭建社交好友推荐系统”为主题的分享,主要对大数据在好友推荐系统中的应用、好友推荐系统的分析模型、好友推荐系统在阿里云上的实现方式和 MaxCompute 技术进行了精彩的介绍。大数据在好友推荐系统中的应用给大家分享一下基于 MaxCompute 搭建社交好友推荐系统,使用 MaxCom-pute 阿里的大数据计算的方法可以做哪些事情,如果说是以社交好友的推荐,来给大家去演示一下。好友推荐系统它的一个场景介绍,现在大家都在讲大数据,如果想去使用这些数据,我们认为它需要具备三个要素,第一个要素是海量的数据,数据量越多越好,只有数据量达到了足够大,我们才能够成为一个数据里面潜在去挖掘出来。第二个是处理数据的能力,有了这样很高的快速处理数据的能力,可以让我们更快的去把数据里面的信息挖掘出来。第三个是商业变现的一个场景,我们采集大数据的时候,并不是数据越多越好,一定要有一个具体的场景。以推荐系统为例来看一下大数据的一个应用。50驻云科技左边是支付宝,在支付宝一打开的时候,下面会有一栏推荐可能是你的好友,一般的话下面的那些人都是你认识的,可能还没加他们为好友。右侧是 Linkin,它是一个求职社交网站,Linkin 也会给你这样的一个推荐,会告诉你哪一些用户是你潜在的好友,而且 Linkin 会告诉你这个好友跟你是一度的关系的还是两度的关系或者是三度的关系。潜在关联性高的,会在前面直接显示出来,潜在关联性没有那么高的也会在后面显示出来,这两个都是典型的一个好友推荐。进行好友推荐的时候,怎么给用户进行推荐,首先这两个人是非好友的关系,接着我们去看一下他们俩潜在共同好友的处理,通过这种方式去给用户推送,比方说潜在好友数量多,我就认为这两个人是好友关系,就是通过这种方式来实现的。驻云科技驻云科技首先输入左侧机器可以识别的数据,输入之后,在 Map 端先把数据做一个拆分,拆分成两份不同的数据,在拆分的同时把它转换成 key、value 的类型,比方说 A、B、D、E 这几行数据转换成什么呢?A 跟 B,然后 value 是零,零代表他们两个已经是好友。如果两个不是好友的话,自定义这一行数据,B 跟 D 不是好友,就把他的值视为 1。下面的 B、E,还有 D 跟 E 也是 1。把原来一行数据转换成 Key、Valu
展开阅读全文