您的位置:首页 > 大数据

【大数据学习】数据化运营并不难?关键是这些技术你get了么?!

2017-03-15 11:53 519 查看
免费开通大数据服务:https://www.aliyun.com/product/odps

1月15日在北京举行了首次阿里云大数据合作伙伴深度培训,我司获邀参加,我和两名研发的同学又一次来到了阿里巴巴望京园区。






> 培训的第一部分内容、数加的介绍及应用

除了介绍性内容之外,还是有「干货」的,这个干货就是MaxCompute 的实践。MaxCompute原来叫做ODPS,www.aliyun.com/product/odps,是阿里整个大数据解决方案的基础。



上来,给我们讲了什么事数据分析,话说我们是来学习大数据的,干嘛还要研究数据分析?

因为:大数据不是用来吹的!



通过数据分析能够获得的好处有很多,但最重要的是获得数据化运营的能力!

为啥要数据化运营?

因为:百度、阿里巴巴、腾讯、苹果、谷歌、亚马逊的运营一个比一个的数据化,一个赛一个的赚钱!



又开始讲数据仓库了,说这个干嘛,我们不是要数据化运营吗?没有数据咋运营,数据多了自然就需要仓库放呗!

数据仓库领域已经发展了30多年了,大数据不是在颠覆,而是继承和扩展了相关领域知识。

「大」数据和「小」数据的分析处理流程是基本一致的。



你听说过星型模型么?那你听说过范式模型么?

反正,在数据分析应用场景下是不太关注数据重复的,通常采用星型模型组织数据;在线业务应用场景需要尽量避免数据的重复存储,通常采用范式模型进行数据存储。

星型模型就是通过把数据组织成维度和事实表的一种数据建模方式,数据通过星型模式组织更有利于理解和分析。

这种建模方式数据仓库已经用了三十年,大数据仓库还要继续用。



什么是大数据?体量、数量、技术、潮流都不是重点!

这个话是阿里说的哈,不是我说的。



数据大了,传统方式搞不定了,两个办法来解决:减治和分治。



目前有三种主要的大数据计算场景:离线计算、在线计算、流式计算。

MaxCompute 主打离线计算、在线计算有阿里云的ADS(分析型数据库)、流式计算阿里云有正在公测的StreamCompute。

其他的还有图计算和内存计算,阿里自己内部在用,目前还没有通过阿里云对外输出。



阿里云大数据的使用场景包括:

数据仓库:最大一坨的应用场景,最顶层是数据可视化、下面是BI报表和机器学习、开发用的是大数据开发平台(DateIDE)、基础是计算平台(其中最主要的是MaxCompute)。

数据可视化:数据可视化可以单独拿出来应用,只要你把数据给它,他就能给你变出“花”来。

智能算法:机器翻译、人脸识别、智能语音交互、印刷文字识别、电商图片分析、通用图片分析等算法你都可以通过API调用的方式来使用。

数据应用:通过把算法结合具体的应用场景,阿里推出了推荐引擎、规则引擎、移动定向营销、移动数据分析等数据应用。



刚才那个图,换一种方式来表示。

阿里的人总是反复说:他们最关注的还是底层的计算引擎、数据加工和分析工具,上面的应用和解决方案主要还是得依靠合作伙伴来结合具体的应用场景进行创新。



阿里云大数据的场景解决方案和大数据产品。



第一场景、经典的数据仓库和BI,「第一」是说最经典的、还是最常见、或是最重要的、还是最赚钱的?

这个场景,其实就是基于阿里云大数据平台在做传统BI。

开发人员借助于大数据开发平台(DateIDE)操作大数据计算服务(MaxCompute)完成数据分析任务、最终数据通过BI报表(QuickBI)呈现。



场景二、只是稍微复杂了那么一点儿。

最主要的差别是引入了智能算法,通过对存储在对象存储(OSS)中的海量非结构化数据运用机器学习算法进行处理,形成结构化数据之后再导入大数据计算服务(MaxCompute),结合关系型数据库中导入的数据一起来做分析。

一种可能的场景是:在客服满意度调查分析中,对存储在OSS中的客户服务录音进行语音识别,形成文本,再对文本信息通过语义建模抽取关键信息后结合用户交易历史数据对客户服务的最终效果进行跟踪分析。



场景三、数据平台

除了自己的数据以外,还引入了第三方数据,打造数据生态。

阿里云方面的产品嘛,还是那些东西。



场景四:经典人工智能。

主要就是MaxCompute结合了阿里云提供的机器学习算法。



应用场景一:个性化推荐

阿里是做电商起家的,对于产品推荐自然是行家。



应用场景二:数据可视化

阿里帮你把数据可视化的框架搭起来了,你往里填数据就行了。



应用场景三:智能语音

阿里自己的电话客户服务可以做到100%质检,指望人来听是不现实的,阿里都是用机器听的。

更牛的是,据说今年阿里双11的客户服务绝大部分都是机器做的,不过,你信么?



开始讲干货了:MaxCompute

MaxCompute主打批处理,底层模型和Hadoop的MapReduce类似,据说阿里是用C++把Hadoop的MapReduce重新实现了,原来是基于Java的。



MaxCompute的主要应用场景:

第一、最基本的就是数据仓库和BI,主要用SQL开发,结合少量UDF(用户自定义函数)。

第二、目前Graph在公测,是基于图计算模型的分布式应用,这个主要用在机器学习领域,当阿里提供的算法不够用时,可以自己DIY。

第三、支持机器学习和数据挖掘,阿里提供了很多成熟算法,这些算法的训练和分析数据主要是存储在MaxCompute上的。



图计算的主要用户应该是科学家。

机器学习和大数据统计是统计分析师们的最爱。

重点是MaxCompute SQL,对于计算机工程技术人员来说,日后主打的工具就是它了。

以下是MaxCompute SQL的介绍。



MaxCompute 的主要概念:项目空间、表、分区。



三种用户自定义函数:UDF、UDTF、UDAF。

目前的用户自定义函数都是用Java语言实现的,编译形成JAR包后上传到MaxCompute作为资源使用,可以在SQL中和内置函数一样调用。



UDF的输入和输出是一对一的。



UDTF的输入和输出是一对多的。



UDAF的输入和输出是多对一的。



用户自定义函数的开发和使用过程。




>第二部分、Date IDE

MaxCompute有一个命令行工具,还有一个图形化开发环境叫做Date IDE。



Date IDE的功能不仅是一个开发环境,还包括调度管理和监控运维。

数据化运营是一个长期过程,一旦开始就意外着要进行不断的投入和运维。



开了一个项目空间,看看有啥功能。



数据的处理步骤通过节点来组织。



可以对节点设置调度、依赖和监控,如果真的开始了数据化运营,如果哪一天没有数据输出就是一场灾难。




>第三部分、一个案例:海量日志数据分析

把前面介绍的内容整体穿起来,放在一个应用场景下介绍。



为啥要分析日志?



案例中用到的产品:MaxCompute、Date IDE、Quick BI。



整体的流程:这个流程图是在Date IDE中通过拖拽形成的。



第一步,数据的采集。

MaxCompute支持各种导入数据的方式。



第二步,数据的处理分析。

阿里自己通常会把数据分成三层来处理:

ODS层、为了避免影响在线业务的运行,通常不进行处理,先把数据直接导进来放在ODS层。

DW层、使用星型模型重新组织数据,分成维度表行和事实表。

RPT层、具体报表使用的数据,因为要进行在线的查询和访问,而MaxCompute不擅长在线访问,所以通常都会导回到RDS(关系型数据库)或ADS(分析型数据库)存储。



Quick BI 可以呈现出的效果,Quick BI支持各种数据源,除了支持阿里云提供的数据库服务外,还支持外部用户自建的各种数据库。




>第四部分、流计算引擎

阿里StreamCompute还在公测,春节后估计就能上线。



离线计算(MaxCompute)和流计算(StreamCompute)的区别。

StreamCompute是MaxCompute的补充而不是替代。

流处理不擅长复杂的任务、流处理是事件触发的。



上面的日志处理案例也可以用流处理实现,需要用到DataHub服务。

DataHub 有些类似有Kafuka,是一个海量数据的订阅和消费服务。



DataHub中的数据订阅是基于Topic的。



流数据应用场景,数据大屏。

网站的访问数据是实时变化的,看起来非常炫酷。

阿里双十一的实时大屏就是流数据结合数据大屏(DataV)实现的。





文章转载安欣 技术想要What

原文链接:

http://click.aliyun.com/m/13895/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: