离线大数据场景主要基于MaxCompute进行批量数据分析,实时数据场景主要是依靠实时计算做初步的数据清洗再对接数据库来完成数据的实时分析需求。但随着业务精细化运营的加深以及大促的常态化,单一的数据场景并不能满足业务的需求,而实时离线联合使用的场景诉求变得越来越多。例如双11大促当天快结束时,某手机店铺需要冲击一下销量,运营通过对实时数据分析发现当前店铺的加购率高但是转化不行,为了提高转化率,想针对部分人群发放一些优惠券或者红包来促进转化,但加购的实时人群数量庞大,如何选取最精准的人群成为一大难题。这时,运营调用历史购买数据即离线数据,通过对实时数据和离线数据在某个条件下的聚合查询对用户进行分层,最后筛选出最精准的人群来进行优惠券发放。交互式分析与大数据生态无缝打通,在离线数据场景上,与MaxCompute在底层打通,支持直接查询/导入查询MaxCompute数据;在实时数据场景上,提供connect接口,支持实时计算(Blink)数据实时查询实时写入,只需要维护一套系统,就能实现实时离线的交互式查询。今天小编就为大家介绍,如何使用交互式分析来同时完成实时离线联合查询。 本次案例基于交互式分析的开发平台HoloStudio完成,关于HoloStudio的使用可以请参见往期传送门:HoloStudio介绍:《交互式分析六脉神剑》之Dataworks-HoloStudio初体验HoloStudio直接查询MaxCompute:在吗?0代码加速查询MaxCompute请查收!HoloStudio查询实时计算:学会这个,实时数据(Blink)实时查询实时写入! 开发平台 实时计算平台DataWorks–HoloStudio 前提条件 1.开通实时计算服务。2.开通MaxCompute服务。3.开通交互式分析服务。4.确保以上3个服务在同一个region。 操作步骤 1.准备MaxCompute离线数据 登录DataWorks,新建业务流程–数据开发–ODPS SQL,输入MaxCompute作业信息在MaxCompute中准备一张用户的离线数据表,主要用来存放以前用户的购买记录,本案例的示例数据如下: 2.准备实时数据 登录实时计算平台,新建作业,写入实时作业,对数据做初步的清洗,并引用资源包完成交互式分析与实时计算的连接。作业检无误后提交,在生产环境启动该作业,最终作业输出如下:(数据最终存储在交互式分析里) 3.交互式分析联合查询数据 登录HoloStudio,在SQL Console里面执行临时查询,查询经过实时计算初步清洗的部分实时数据如下:(HoloStudio新建外部表,查询的MaxCompute部分离线数据如下:(数据仍然存储在MaxCompute中)现将实时数据与离线数据按照某个条件做聚合,例如查询过去1-2年购买过且当前加购金额超过8000元的用户。 SELECT a_id, sum(a_cost) as total