阿里云数加平台尝试之简单数据统计

遇到的问题

我们的电商平台每天都会产生一些访问及销售数据,最开始的时候仅仅需要统计各店铺的数据。有一天,产品妹子说:“我们现在还需要渠道的数据,你给搞一下吧。”

由于以前并没有做过数据统计相关的工作,所以最开始的数据统计系统是这样设计的。

写一个脚本,每天凌晨执行一次。脚本的任务就是从业务库拉去前一天的数据,然后进行相应的计算,最后写到统计结果表中。

这次产品妹子来新需求了,我就得苦逼的再写这么一个脚本。一次无所谓,但是如果以后再来新需求呢?

作为一只聪明的猿,肯定得想办法摆脱这个坑!

数加之初步了解

大概半年前初步了解过阿里云的数加平台。数加是阿里云依托DataIDE、ODPS、机器学习等等建立起来的一个庞大的大数据系统。如下图,这是今年8月9日阿里云全面升级 DT NEXT极致未来新品发布会后官网的变化。与原先相比,产品线更加一目了然。原先我们经常用到的ECS、RDS、OSS等都归属为云计算基础服务,新增了大数据(数加)栏目。其中就有我们今天要讲到的大数据开发套件(DataIDE)和大数据计算服务(MaxCompute),其中MaxCompute原名ODPS,所以现在很多地方还叫ODPS,这里需要稍微注意一下。


8月9日阿里云官方升级之后

数加之DataIDE

DataIDE即所谓的大数据开发套件。如下图:


数加控制台首页
数据开发工作台

DataIDE的功能主要分为三部分,即ODPS_SQL、数据同步、机器学习。由于对机器学习并不了解所以并没有深入学习,我们的数据统计仅需要数据同步和ODPS_SQL即可。

数据同步就是将业务数据库中的数据同步到ODPS中。
ODPS_SQL的作用就是你可以根据你的统计需求像写普通SQL一样完成统计。

数加之ODPS

ODPS,全称Open Data Processing Service。即开放数据处理服务,是一个海量数据处理平台。

我其实是对大数据的了解很有限,所以对这种高大上的东西很是向往,同时对它也没有一个明确的认识。那么索性我们就先简单的把它理解成一种离线的可以提供海量数据计算的数据库

如何利用DataIDE和ODPS进行简单的数据统计

上面我们初步了解了DataIDE和ODPS,下面我们来看下如何通过DataIDE和ODPS来解决产品妹子给我提的新需求。

先看下产品妹子需要的渠道数据都有哪些。


渠道数据概况
渠道数据历史趋势

嗯,从原型上来看主要需要两部分数据,即销售数据和访问数据。

再来看下我们的业务数据是什么样子的。

我们有一张订单表,销售数据可以通过订单表计算出来。
我们还有一个用户访问记录表,那么访问数据也就有了。

DataIDE之数据同步节点

有了上面的两张表,我们需要做的工作就很简单了。

首先,我们在DataIDE的控制台新建一个任务。然后在任务面板新建一个数据同步节点。如下图中的订单表和访问记录表就是两个数据同步节点

数据同步节点

双击同步节点对齐进行相应配置。
数据同步节点配置

如上图。首先选择数据来源,选择源数据中的数据表,选择完毕后系统会自动拉去源数据的数据表结构显示在下方。然后选择数据流向和ODPS中的表。需要注意的是初次使用时,需要自行创建ODPS中的表

最后需要设置数据过滤规则。如下图:


数据抽取和加载控制

这里需要注意的是数据过滤中的语句是普通的SQL不是ODPS_SQL。

DataIDE之ODPS_SQL节点

因为大同小异,所以这里我们仅以销售数据的统计节点为例进行讲解。如下图:


渠道销售数据统计节点

可以看到,基本语法上来说和普通SQL差别不大。我们需要统计渠道的付款订单数量和订单金额,所以我们直接COUNT(id),SUM(payment_fee)并GROUP BY spm。这都是基本的SQL用法这里就不多说了,不了解的朋友可以自行搜索学习。需要注意的是TO_DATE是ODPS_SQL内置的函数,ODPS_SQL有很多内置函数,大家可以自行查阅手册。

另外就是${bdp.system.bizdate}${bdp.system.cyctime}是DataIDE的两个系统参数。它们分别代表日常调度实例定时时间的前一天日常调度实例定时时间

最终

最终节点任务执行完成就会生成以下数据


渠道销售数据
渠道访问数据

那么,结束了么?

如果你以为结束了,那么只能说明你跟我一样很天真!

还记得我们最初给ODPS的理解么?一个离线的可以提供海量数据计算的数据库!注意离线二字。由于离线,所以实际过程中是你提交一条ODPS_SQL上去,然后得等一会儿才会有结果返回来。这就是跟普通数据库的一个很重要的差别。

所以注定ODPS无法为业务系统提供查询服务。

所以,我们还需要将统计结果数据从ODPS拉去到统计中心的的普通数据库中去。那么该如何操作呢?

ODPS提供了SDK,通过SDK可以很方便的拉去ODPS中的数据,但是。。。

What?没有PHP版本的SDK?只有Java版本和Python版本的?

妈哒,说好的PHP是最好的语言呢?

还好,本猿对Python也略有涉猎(傲娇脸)

最终将结果数据汇总到RDS中。

最终统计出来的渠道数据

结尾

搞定!有了DataIDE和ODPS,再也不怕产品妹子给我提数据统计的需求咯~

对了,有同样正在玩数加的欢迎留言交流。没有人交流全靠自己摸索太痛苦了~


我是闫大伯,一只对一切不了解事物充满探索欲的野生程序猿

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容