- ?
十种常用的数据分析方法
茜茜
展开
道家强调四个字,叫“道、法、术、器”。
层次区别:
“器”是指物品或工具,在数据分析领域指的就是数据分析的产品或工具,“工欲善其事,必先利其器”;
“术”是指操作技术,是技能的高低、效率的高下,如对分析工具使用的技术(比如用Excel进行数据分析的水平);
“法”是指选择的方法,有句话说“选择比努力重要”;
“道”是指方向,是指导思想,是战略。
在数据分析和产品、运营优化方面,数据分析方法是其核心,属于“法”和“术”的层次。
那么如何做好数据分析呢,今天我们来讲讲互联网运营中的十大数据分析方法。
01 细分分析
细分分析是分析的基础,单一维度下的指标数据的信息价值很低。
细分方法可以分为两类, 一类逐步分析, 比如:来北京市的访客可分为朝阳,海淀等区; 另一类是维度交叉, 如:来自付费SEM的新访客。
细分用于解决所有问题。
比如漏斗转化,实际上就是把转化过程按照步骤进行细分,流量渠道的分析和评估也需要大量用到细分的方法。
02 对比分析
对比分析主要是指将两个相互联系的指标数据进行比较,从数量上展示和说明研究对象的规模大小,水平高低,速度快慢等相对数值, 通过相同维度下的指标对比,可以发现,找出业务在不同阶段的问题。
常见的对比方法包括: 时间对比,空间对比,标准对比。
时间对比有三种: 同比,环比,定基比。
例如: 本周和上周进行对比就是环比;本月第一周和上月第一周对比就是同比;所有数据同今年的第一周对比则为定基比。通过三种方式,可以分析业务增长水平,速度等信息。
03 漏斗分析
转化漏斗分析是业务分析的基本模型, 最常见的是把最终的转化设置为某种目的的实现,最典型的就是完成交易。但也可以是其他任何目的的实现,比如一次使用app的时间超过10分钟。
漏斗帮助我们解决两方面的问题:
在一个过程中是否发生泄漏,如果有泄漏,我们能在漏斗中看到,并且能够通过进一步的分析堵住这个泄漏点。
在一个过程中是否出现了其他不应该出现的过程,造成转化主进程收到损害。
04 同期群分析
同期群(cohort)分析在数据运营领域十分重要,互联网运营特别需要仔细洞察留存情况。 通过对性质完全一样的可对比群体的留存情况的比较,来分析哪些因素影响用户的留存。
同期群分析深受欢迎的重要原因是十分简单,但却十分直观。 同期群只用简单的一个图表,直接描述了用户在一段时间周期(甚至是整个LTV)的留存或流失变化情况。
以前留存分析只要用户有回访即定义为留存,这会导致留存指标虚高。
05 聚类分析
聚类分析具有简单,直观的特征, 网站分析中的聚类主要分为:用户,页面或内容,来源。
用户聚类主要体现为用户分群,用户标签法;页面聚类则主要是相似,相关页面分组法;来源聚类主要包括渠道,关键词等。
例如: 在页面分析中,经常存在带?参数的页面。 比如: 资讯详情页面,商品页面等,都属于同一类页面。简单的分析容易造成跳出率,退出率等指标不准确的问题,通过聚类分析可以获取同类页面的准确数据用于分析场景。
06 AB测试
增长黑客的一个主要思想之一,是不要做一个大而全的东西,而是不断做出能够快速验证的小而精的东西。 快速验证,那如何验证呢?主要方法就是AB测试。
比如: 你发现漏斗转化中中间有漏洞,假设一定是商品价格问题导致了流失,你看到了问题-漏斗,也想出了主意-改变定价。但主意是否正确,要看真实的用户反应,于是采用AB测试,一部分用户还是看到老价格,一部分用户看到新价格,若你的主意真的管用,新价格就应该有更好的转化,若真如此,新价格就应该确定下来,如此反复优化。
07 埋点分析
只有采集了足够的基础数据,才能通过各种分析方法得到需要的分析结果。
通过分析用户行为,并细分为:浏览行为,轻度交互,重度交互,交易行为,对于浏览行为和轻度交互行为的点击按钮等事件,因其使用频繁,数据简单,采用无埋点技术实现自助埋点,即可以提高数据分析的实效性,需要的数据可立即提取,又大量减少技术人员的工作量,需要采集更丰富信息的行为。
如: 重度交互(注册,邀请好友等)和交易事件(加购物车,下订单等)则通过SDK批量埋点的方式来实施。
08 来源分析
流量红利消失,我们对获客来源的重视度极高,如何有效的标注用户来源,至关重要。
传统分析工具,渠道分析仅有单一维度,要深入分析不同渠道不同阶段效果,SEM付费搜索等来源渠道和用户所在地区进行交叉分析,得出不同区域的获客详细信息,维度越细,分析结果也越有价值。
09 用户分析
用户分析是互联网运营的核心, 常用的分析方法包括:活跃分析,留存分析,用户分群,用户画像,用户细查等。
可将用户活跃细分为浏览活跃,互动活跃,交易活跃等,通过活跃行为的细分,掌握关键行为指标;通过用户行为事件序列,用户属性进行分群,观察分群用户的访问,浏览,注册,互动,交易等行为,从而真正把握不同用户类型的特点,提供有针对性的产品和服务。
用户画像基于自动标签系统将用户完整的画像描绘清晰,更有力的支撑运营决策。
10 表单分析
填写表单是每个平台与用户交互的必备环节,优秀的表单设计,对转化率的提升起到重要作用。
用户从进入表单页面之时起,就产生了微漏斗,从进入总人数到最终完成并成功提交表单人数,这个过程之中,有多少人开始填写表单,填写表单时,遇到了什么困难导致无法完成表单,都影响最终的转化效果。
以上是常见的数据分析方法,更多应用方法需要根据业务场景灵活应用。
- ?
数据分析师和数据科学家有什么区别?
马坦萨斯
展开
关于数据分析师,数据工程师和数据科学家有什么区别,三者有着相关的共同点,又有着不同点,数据科学家的影响力与互联网同进同退。数据工程师和数据分析师与数据科学家携手共同完成这幅“大数据时代”巨作。
数据科学家是什么样一个存在呢?
通常情况下,数据科学家有数学或物理方面的高等学位。有博士学位的情况并不少见,硕士学位仅是一个前提条件。数据科学家精通统计建模以及如何构建与定制高级数学算法。这既在他们专业范围内,也是他们所擅长的地方。我听到过有人这样形容一个数据科学家“软件工程技能牛过多数人的酷炫统计学家”。
我结合加工的说:所谓数据科学家,是指运用统计分析、机器学习、分布式处理等技术,从大量数据中提取出对业务有意义的信息,以易懂的形式传达给决策者,并创造出新的数据运用服务的人才。
数据工程师如何定义呢?
数据工程师一般被定义成“深刻理解统计学科的明星软件工程师”。如果你正为一个商业问题烦恼,那么你需要一个数据工程师。这些伙计就是那些能提供可建模数据所需平台的人。他们的核心价值在于他们借由清晰数据创建数据管道的能力。
如何区分数据科学家,数据工程师与数据分析师
数据工程师对演算法有相当好的理解。因此,数据工程师理应能运行基本数据模型。商业需求的高端化催生了演算高度复杂化的需求。很多时候,这些需求超过了数据工程师掌握知识范围,这个时候你就需要打电话寻求数据科学家的帮助。
数据分析师如何理解呢?
数据分析师能洞悉一个方程式的商业意义。他们知道如何提出正确的问题,非常善于数据分析,数据可视化和数据呈现。不管是给另一个数据分析师还是C级执行做演讲,数据分析师都是数据提取,模式识别以及从大量数据中洞察问题方面的能手。
如果你或者你的公司正考虑顺应这股大数据浪潮的发展,你应该从明确你想利用大数据解决所面临的商业问题处下手。接着找出你真正的需求:是数据采集,检索,仓储还是数据分析?然后编写相应的职位描述并做好准备。
想要快速进入大数据行业,西线学院大数据培训是不错的选择,除了坚持小班化教学之外,还以项目式教学为宗旨,手把手辅导学员,进行大量的案例操作,保障学员不光学会书本上的知识,更具有实际操作的能力。
- ?
什么叫大数据分析
颜珊
展开
大数据行业发展如火如荼,国家政策利好,互联网大佬纷纷在大数据行业布局,我们想让自己的职业生涯在一个朝阳行业发展,肯定又要学习相关技术,让自己与时俱进,但是难就难在大数据是一个新兴事物,目前我国大学的专业里面还鲜少有这个专业,国家刚批的大数据专业,全国目前35个高校,但是从17年开始招生,2021年才有第一批毕业生进入职场,在四年期间,是大数据行业发展的飞速时期,没有行业发展是等着人才进入的,而是需要要虚位以待、蓄势待发,所以在没有高等教育准备好的大数据教育,如何高效的学习大数据,如何快速的与行业发展想契合,那么需要我们成为第一个吃螃蟹的人,作为一个随着大数据行业成长的职业人,首先要知道大数据是个啥?
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
那来帮大家分析下:如何高效的学习大数据。
经常有初学者会问,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高……首先,如果你确定了想往这个方面发展,先考虑自己的过去从业经历、专业、兴趣是什么。计算机专业——操作系统、硬件、网络、服务器?软件专业——软件开发、编程、写代码?还是数学、统计学专业——对数据和数字特别感兴趣?
那么你能找师傅带吗?
但凡有这种想法的人,或多或少都会存有侥幸之心,或者叫做“天真,单纯”。希望不花一分钱,就能更快速的学到更优质,更实用的技能。
关于这一点,我只想反问一句你:“如果你是大师,你凭什么愿意带我?”
其实这就是想告诉你大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/设计/架构、数据分析/挖掘。
先说一下大数据的4V特征:
数据量大,TB->PB
数据类型繁多,结构化、非结构化文本、日志、视频、图片、地理位置等;
商业价值高,但是这种价值需要在海量数据之上,通过数据分析与机器学习更快速的挖掘出来;
处理时效性高,海量数据的处理需求不再局限在离线计算当中。
现如今,正式为了应对大数据的这几个特点,开源的大数据框架越来越多,越来越强,先列举一些常见的:
文件存储:Hadoop HDFS、Tachyon、KFS
离线计算:Hadoop MapReduce、Spark
流式、实时计算:Storm、Spark Streaming、S4、Heron
K-V、NOSQL数据库:HBase、Redis、MongoDB
资源管理:YARN、Mesos
日志收集:Flume、Scribe、Logstash、Kibana
消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ
查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式协调服务:Zookeeper
集群管理与监控:Ambari、Ganglia、Nagios、Cloudera Manager
数据挖掘、机器学习:Mahout、Spark MLLib
数据同步:Sqoop
任务调度:Oozie
······
第一步:初识Hadoop
1.1 学会百度与Google
不论遇到什么问题,先试试搜索并自己解决。
Google首选,翻不过去的,就用百度吧。
1.2 参考资料首选官方文档
特别是对于入门来说,官方文档永远是首选文档。
相信搞这块的大多是文化人,英文凑合就行,实在看不下去的,请参考第一步。
1.3 先让Hadoop跑起来
Hadoop可以算是大数据存储和计算的开山鼻祖,现在大多开源的大数据框架都依赖Hadoop或者与它能很好的兼容。
关于Hadoop,你至少需要搞清楚以下是什么:
· Hadoop 1.0、Hadoop 2.0
· MapReduce、HDFS
· NameNode、DataNode
· JobTracker、TaskTracker
· Yarn、ResourceManager、NodeManager
自己搭建Hadoop,请使用第一步和第二步,能让它跑起来就行。
建议先使用安装包命令行安装,不要使用管理工具安装。
另外:Hadoop1.0知道它就行了,现在都用Hadoop 2.0.
1.4 尝试使用Hadoop
· HDFS目录操作命令;
· 上传、下载文件命令;
· 提交运行MapReduce示例程序;
· 打开Hadoop WEB界面,查看Job运行状态,查看Job运行日志。
· 知道Hadoop的系统日志在哪里。
1.5了解它们的原理
MapReduce:如何分而治之;
HDFS:数据到底在哪里,什么是副本;
Yarn到底是什么,它能干什么;
NameNode到底在干些什么;
ResourceManager到底在干些什么;
1.6 自己写一个MapReduce程序
仿照WordCount例子,自己写一个(照抄也行)WordCount程序,
打包并提交到Hadoop运行。
不会Java的话,Shell、Python都可以,有个东西叫Hadoop Streaming。
如果能认真完成了以上几步,恭喜你,你的一只脚已经进来了。
第二步:更高效的WordCount
2.1 学点SQL吧
如果不懂数据库的童鞋先学习使用SQL句。
2.2 SQL版WordCount
在1.6中,你写(或者抄)的WordCount一共有几行代码?
如果用SQL的话:
SELECT word,COUNT(1) FROM wordcount GROUP BY word;
这便是SQL的魅力,编程需要几十行,甚至上百行代码,SQL一句就搞定;使用SQL处理分析Hadoop上的数据,方便、高效、易上手、更是趋势。不论是离线计算还是实时计算,越来越多的大数据处理框架都在积极提供SQL接口。
2.3 安装配置Hive
Hive算是数据仓库工具,安装不难,网上有很多教程,配置完成后,可以正常进入Hive命令行。
2.4 试试使用Hive
尝试在Hive中创建wordcount表,并运行2.2中的SQL语句。在Hadoop WEB界面中找到刚才运行的SQL任务。看SQL查询结果是否和1.4中MapReduce中的结果一致。
明明写的是SQL,为什么Hadoop WEB界面中看到的是MapReduce任务?
2.5 学会Hive的基本命令
创建、删除表;加载数据到表;下载Hive表的数据;并学习更多关于Hive的语法和命令。
0和Hadoop2.0的区别
MapReduce的原理(还是那个经典的题目,一个10G大小的文件,给定1G大小的内存,如何使用Java程序统计出现次数最多的10个单词及次数);
HDFS读写数据的流程;向HDFS中PUT数据;从HDFS中下载数据;
自己会写简单的MapReduce程序,运行出现问题,知道在哪里查看日志;
会写简单的SELECT、WHERE、GROUP BY等SQL语句;
Hive SQL转换成MapReduce的大致流程;
Hive中常见的语句:创建表、删除表、往表中加载数据、分区、将表中数据下载到本地;
从上面的学习,你已经了解到,HDFS是Hadoop提供的分布式存储框架,它可以用来存储海量数据,MapReduce是Hadoop提供的分布式计算框架,它可以用来统计和分析HDFS上的海量数据,而Hive则是SQL On Hadoop,Hive提供了SQL接口,开发人员只需要编写简单易上手的SQL语句,Hive负责把SQL翻译成MapReduce,提交运行。
第三步:把别处的数据搞到Hadoop上
此处也可以叫做数据采集,把各个数据源的数据采集到Hadoop上。
3.1 HDFS PUT命令
put命令在实际环境中也比较常用,通常配合shell、python等脚本语言来使用。建议需熟练掌握。
3.2 HDFS API
HDFS提供了写数据的API,自己用编程语言将数据写入HDFS,put命令本身也是使用API。
实际环境中一般自己较少编写程序使用API来写数据到HDFS,通常都是使用其他框架封装好的方法。比如:Hive中的INSERT语句,Spark中的saveAsTextfile等。
可以尝试了解原理,试着写几个Demo。
3.3 Sqoop
Sqoop是一个主要用于Hadoop/Hive与传统关系型数据库Oracle/MySQL/SQLServer等之间进行数据交换的开源框架。
就像Hive把SQL翻译成MapReduce一样,Sqoop把你指定的参数翻译成MapReduce,提交到Hadoop运行,完成Hadoop与其他数据库之间的数据交换。
自己下载和配置Sqoop(建议先使用Sqoop1,Sqoop2比较复杂)。
了解Sqoop常用的配置参数和方法。
使用Sqoop完成从MySQL同步数据到HDFS;
使用Sqoop完成从MySQL同步数据到Hive表;
PS:如果后续选型确定使用Sqoop作为数据交换工具,那么建议熟练掌握,否则,了解和会用Demo即可。
3.4 Flume
Flume是一个分布式的海量日志采集和传输框架,因为“采集和传输框架”,所以它并不适合关系型数据库的数据采集和传输。Flume可以实时的从网络协议、消息系统、文件系统采集日志,并传输到HDFS上。因此,如果你的业务有这些数据源的数据,并且需要实时的采集,那么就应该考虑使用Flume。
下载和配置Flume。使用Flume监控一个不断追加数据的文件,并将数据传输到HDFS;
PS:Flume的配置和使用较为复杂,如果你没有足够的兴趣和耐心,可以先跳过Flume。
3.5 阿里开源的DataX
之所以介绍这个,是因为以前某公司客户目前使用的Hadoop与关系型数据库数据交换的工具,就是之前基于DataX开发的,个人感觉非常好用。现在DataX已经是3.0版本,支持很多数据源。你也可以在其之上做二次开发。
PS:有兴趣的可以研究和使用一下,对比一下它与Sqoop。
至此,你的“大数据平台”应该是这样的:
第四步:把Hadoop上的数据搞到别处去
前面介绍了如何把数据源的数据采集到Hadoop上,数据到Hadoop上之后,便可以使用Hive和MapReduce进行分析了。那么接下来的问题是,分析完的结果如何从Hadoop上同步到其他系统和应用中去呢?
其实此处的方法和第三步基本一致的。
4.1 HDFS GET命令
把HDFS上的文件GET到本地。需要熟练掌握。
4.2 HDFS API
原理同3.2。
4.3 Sqoop
原理同3.3。
使用Sqoop完成将HDFS上的文件同步到MySQL;
使用Sqoop完成将Hive表中的数据同步到MySQL;
4.4 DataX
原理同3.4
此时,“你的大数据平台”应该是这样的:
走完第三步和第四步的流程,那么你应该已经具备以下技能和知识点:
· 知道如何把已有的数据采集到HDFS上,包括离线采集和实时采集;
· 知道sqoop(或者还有DataX)是HDFS和其他数据源之间的数据交换工具;
· 知道flume可以用作实时的日志采集;
至此,对于大数据平台,应该已经掌握如何搭建Hadoop集群,把数据采集到Hadoop上,使用Hive和MapReduce来分析数据,把分析结果同步到其他数据源。
接下来的问题就是,Hive使用的越来越多,你会发现很多不愉快的地方,特别是速度慢,
大多情况下,明明我的数据量很小,它都要申请资源,启动MapReduce来执行。
第五步:快一点吧,我的SQL
其实大家都已经发现Hive后台使用MapReduce作为执行引擎,实在是有点慢。因此SQL On Hadoop的框架越来越多,按我的了解,最常用的按照流行度依次为SparkSQL、Impala和Presto.这三种框架基于半内存或者全内存,提供了SQL接口来快速查询分析Hadoop上的数据。
目前我们的方案使用的是SparkSQL,至于为什么用SparkSQL,原因大概如下:
· 使用Spark还做了其他事情,不想引入过多的框架;
· Impala对内存的需求太大,没有过多资源部署;
5.1 关于Spark和SparkSQL
什么是Spark,什么是SparkSQL。
Spark有的核心概念及名词解释。
SparkSQL和Spark是什么关系,SparkSQL和Hive是什么关系。
5.2 如何部署和运行SparkSQL
Spark有哪些部署模式?
如何在Yarn上运行SparkSQL?
使用SparkSQL查询Hive中的表。
PS:Spark不是一门短时间内就能掌握的技术,因此建议在了解了Spark之后,可以先从SparkSQL入手,循序渐进。
第六步:一夫多妻制
其实我想说的是数据的一次采集、多次消费。
在实际业务场景下,特别是对于一些监控日志,想即时的从日志中了解一些指标(关于实时计算,后面步节会有介绍),这时候,从HDFS上分析就太慢了,尽管是通过Flume采集的,但Flume也不能间隔很短就往HDFS上滚动文件,这样会导致小文件特别多。
为了满足数据的一次采集、多次消费的需求,这里要说的便是Kafka。
6.1 关于Kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
6.2 如何部署和使用Kafka
使用单机部署Kafka,并成功运行自带的生产者和消费者例子。
使用Java程序自己编写并运行生产者和消费者程序。
Flume和Kafka的集成,使用Flume监控日志,并将日志数据实时发送至Kafka。
至此,“大数据平台”应该扩充成这样:
这时,使用Flume采集的数据,不是直接到HDFS上,而是先到Kafka,Kafka中的数据可以由多个消费者同时消费,其中一个消费者,就是将数据同步到HDFS。
总结:
为什么Spark比MapReduce快。
使用SparkSQL代替Hive,更快的运行SQL。
使用Kafka完成数据的一次收集,多次消费架构。
自己可以写程序完成Kafka的生产者和消费者。
前面的学习已经掌握了大数据平台中的数据采集、数据存储和计算、数据交换等大部分技能,而这其中的每一步,都需要一个任务(程序)来完成,各个任务...
- ?
什么是数据分析?数据分析的作用是什么?
朱蒂
展开
1.什么是数据分析?
数据分析的目的是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律。在实际工作中,数据分析能够帮助管理者进行判断和决策,以便采取适当策略与行动。比如:企业的高管希望通过市场分析和研究,把握当前产品的市场动向,从而制定合理的产品研发和销售计划,这就必须依赖数据分析才能够完成。
简单的说,就是对数据进行分析,比较专业的说法是,数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,未提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。以求最大化地开发数据的功能,发挥数据的作用。
数据分析包含“数据”和“分析”两个方面一方面包括加工和整理数据,另一方面也包括分析数据,从中提取有价值的信息并形成对业务有帮助的结论。
数据分析的成果通常以分析报告的形式呈现。对于数据分析报告,分析就是论点,数据就是论据,两者缺一不可。
2.数据分析类别
其中,探索性数据分析侧重于在数据中发现新的特征,而验证性数据分析则侧重于验证已有假设的真伪证明。
数据分析的划分:描述性数据分析、探索性数据分析、验证性数据分析。
1)描述性数据分析:属于初级数据分析,常见的分析方法有对比分析法、平均分析法、交叉分析法。
2)探索性数据分析:侧重于再数据之中发现新的特征
3)验证性数据分析:侧重于验证已有假设的真伪证明
其中探索性数据分析和验证性数据分析属于高级数据分析,常见的分析方法有相关分析、因子分析、回归分析等等。
3.数据分析的作用
数据分析在日常企业运营中主要有三大作用:
1.现状分析
简单的说就是告诉你过去发生了什么。
具体表现在:
第一,告诉你企业现阶段的整体运营情况,通过各个经营指标的完成情况来衡量企业的运营状态,以说明企业整体运营是更好了还是坏了,好的程度是如何,坏的程度又到哪里。
第二,告诉你企业各项业务的构成,让你了解企业各项业务的发展及变动情况,对企业经营状况有更深入的了解。
现状分析一般通过日常通报来完成,如日报、周报、月报等形式。
2.原因分析
简单的说就是告诉你某一现状为什么发生。经过第一阶段的现状分析,我们对企业的运营情况有了一个基本的了解,但是不知道运营情况具体好在哪里,差在哪里,是什么原因引起的。这时候我们就需要开展原因分析,以进一步确定业务变动的具体原因。
原因分析一般通过专题分析来完成,根据企业运营情况选择针对某一现状进行原因分析。
3.预测分析
简单来说就是告诉你将来会发生什么。
在了解企业运营现状后,有时候还需要对企业未来发展趋势做出预测,为企业制定经营目标以及提供有效的策略参考与决策依据,以确保企业的可持续健康发展。
预测分析一般通过专题分析来完成,通常在制定企业季度、年度等计划时进行,其开展的频率没有现状分析及原因分析高。
什么时候开展什么样的数据分析,需要根据自身的需求及目的来确定。
分享 IT 技术和行业经验,请关注-技术学派。
- ?
数据分析方法(一):对比与对标
凌丝
展开
对比是数据分析最基本的方法,通过对比识别数据差异。但是对比有得失。在分析过程中,对比得当可获得精准结论,但对比分析也存在陷阱,比如某产品近期销售数据在下滑,想当然得会得出结论此产品受欢迎度在下降,但是查看销售比(销售数/DAU)却在上升,所以只是因为DAU下降了。
所以如何去有效对比?
1、 横向、纵向多维度对比
对比的前提是两个事物或统一个事物的两个状态,其次必须要有一个对比的指标或标准(这里可称为对比的度量)。对比的两事物一个是主体,另一个是客体。也就是明确对比的三要素:主体、客体和度量。比如小明比小王高5cm,就是一个最简单的对比,这里小明是主体,小王是客体,度量身高,且人们对于身高这个度量存有共识。但如果去大排档吃一碗炒饭50元,可能觉得很贵。那如果是取希尔顿吃一碗炒饭128元可能就不觉得贵,这里我们选择了常识作为比较的基准,客体也没有问题,问题在于我们所谓的“常识”并非所有人的“共识”,如果不是共识,就要非常谨慎地得出结论,否则就容易从自我出发做出判断,影响结论的中肯性。
2、建立标准化的对比客体和度量
就是因为标准可以是认为确定的,所以存在质疑和不确定性。
建立标准化的对比可以是时间标准、空间标准、特定标准、计划标准。
3、 比率的对比
常见的对比是大小的对比、数量的对比,比如销售额的对比,人数的对比,使用不同的对比指标会得到不同的结论,我们把对比标准的选择叫做视角,视角不同,结论不同。比如上述对比小明小王俩同学,身高是视角事宜,除此之外还有年龄、学习成绩、颜值等等。在对比各种变化的原因时,我们也有各种模型,我们所要做的就是找到合适的对比视角。
直接描述事物的变量:长度、数量、高度、宽度等
加工后可得到:增速、效率、效益等指标,这才是数据分析时常用的。
如下图的AB公司销售额对比,虽然A公司销售额总体上涨且高于B公司,但是B公司的增速迅猛,高于A公司,即使后期增速下降了,最后的销售额还是赶超。(数据都是笔者瞎编的,工具用的是FineBI)
3、 指标的逻辑与管理指标
数据分析师有一个关键的职能就是要设计“指标”来对比,设计指标和应用指标有着天壤之别。比如某保健品公司,他们的产品是各类补品及奶粉,他们的业务与市场中人口的出生率、老龄化速度、市场整体购买力、对保健品的消费观念有着直接关系,还与政府对这个市场的管控力度有关。分析这么多之后,有没有一个指标来反映这些综合的因素,它的正反代表着好坏。
考虑到以上因素需要构建一个综合性的指标,这需要各种数据的加权计算。在不考虑市场规模的情况才,可以先构建一个指标指数模型:
Y=aX1 + bX2 + cX3 + dX4+……
Y 可定为市场吸引力指标值
X1 可定为老龄化程度
X2 可定为市场整体购买力
X3 可定为市场对保健品的品牌的看法
X4 可定为政府对这个市场的管控力度
abcd是系数,分别代表影响力程度
当然以上只是简单的罗列,实际情况比如X2还能分解出多个影响指标,甚至整体可以换成乘法模型,指数模型。。。
4、 对标的层次和维度
设定了各项管理指标后,剩下的就是比较工作了。从变化到追踪事物变化的诡计,找到问题的根源,从而找到书屋发展规律,这个过程叫对标。对标可以和自己比,也要和别人和竞品比。
对标的维度有规模指标、速度指标、效率指标、效益指标。
规模指标比如营业额、销售额,电商平台的UV、日活,医院的一天接诊数量,年营业收入额;
速度指标往往代表着活力,也是看未来趋势和潜能的重要指标类,包括各种运营管理指标的速度指标。
效率指标即投入和产出比,如果投入的是时间,月度产值、季度产值;如果投入的是净资产、则净资产周转率;如果投入的是人,人均产值,人均销售额。
- ?
大数据工程师和数据分析师有何区别?
祖母绿
展开
大数据并不是一种概念,而是一种方法论。简单来说,就是通过分析和挖掘全量的非抽样的数据辅助决策。大数据可以实现的应用可以概括为两个方向,一个是精准化定制,第二个是预测。比如像通过搜索引擎搜索同样的内容,每个人的结果却是大不相同的。
随着大数据的愈演愈热,相关大数据的职业也成为热门,给人才发展带来带来了很多机会。数据工程师、数据分析师已经成为大数据行业最热门的职位。
数据分析师是什么?
数据分析师不同行业中获取数据,并通过获取到的数据对问题进行解答。最后还需要以合适的方式对结果进行展示,以辅助企业做出商业决策。一般来讲,数据分析师的任务是对数据进行清洗、分析以及可视化。
根据行业的不同,数据分析师的头衔也可能不同。比如:业务分析师、商业智能分析师、运营分析师、数据库分析师等等。不管头衔是什么,数据分析师都可谓是通才。他们能够胜任诸多岗位与团队角色,同时也能在极大程度上帮助企业做出基于数据的决策。
数据分析师所需技能
编程,统计学和数学,机器学习,数据可视化和通信技术,数据处理和数据集定义
数据工程师是什么?
在大数据的时代,数据工程师的角色愈发地重要。数据工程师一般被定义成“深刻理解统计学科的明星软件工程师”。数据工程师是系统的构建者与优化者,所有公司正常运营的基础之一,数据工程师的职责就是保证数据在接收、转移的准确性,并且保证其它用户对数据的可访问性。
和数据分析师不同,他们不太关注统计、分析技能、建模等。他们的工作重点在于数据架构、计算、数据存储、数据流等。因此,数据工程师必须具备相当强的编程能力—包括编写数据查询程序的能力。也就是说,他们的能力必须达到开发运营高手的级别。
数据工程师还负责数据库设计、仓储数据库、建立数据库等。 这就意味着,他们必须十分熟悉现有的数据库技术和数据管理系统,比如和大数据有关的Hadoop与HBase 等。此外,非功能性的基础设施问题,如数据的可扩展性、可靠性、韧性、有效性,备份等也由数据工程师来负责。
数据工程师所需技能
数学和统计学,程序设计和计算机科学,分析技能,商业战略
对于招聘市场端在大数据工程师和大数据分析师二个方向所涉及的岗位具体名称如下图所示:
大数据工程师方向:
大数据分析师方向:
总结:
数据工程师的重心在“后端”,他们需要持续的优化数据通道,才能保证企业数据的准确性与可用性。同时还需确保在需要的时候能够顺畅地将数据提供给用户。
数据分析师则是通过使用数据工程师所构建的自定义API来提取新的数据集,并对其中的数据趋势进行识别,同时对异常数据进行分析。分析师们将会对结果进行总结,并以一种清晰直观的方式来展示这些结果,以便于其它非技术团队能够更好地了解他们目前的工作效果。
有了以上信息,数据分析师和大数据工程师之间的差异应该清楚。对于数据驱动的职位来说,通过数据来找到正确的问题,并据此进行更加精确的试验,这就是其最根本的工作内容。进一步的,数据科学领域将不断发展进步,同时也会对相关从业人员提出持续学习的要求。
分享 IT 技术和行业经验,请关注-技术学派。
- ?
大数据挖掘与大数据分析一样吗?有什么区别?
左灵阳
展开
大数据挖掘与大数据分析一样吗?随着大数据越来越火,与大数据相关的职位也开始粉墨登场,引人关注。作为大数据行业最为重要的两种职位,大数据挖掘和大数据分析更是受到了与众不同的待遇。现在有许多的朋友都会问:大数据挖掘和大数据分析有什么区别,不是都是搞数据的吗?在这里,魔据小编认为:尽管大数据挖掘和大数据分析同属于大户数据行业,但是依然有着很大的区别。
大数据挖掘与大数据分析一样吗?一.什么是数据
不谈数据,就无以谈大数据挖掘和大数据分析,因此,我们先说一下什么是数据。
其实很简单,数据就是观测值。例如测量数据。大家可能有个误区,认为客户填写的表单就是数据,对编程序而言,是的,但是不是常规的数据。当然填写的内容,一旦落入到观测空间,自然就成了数据。
二.什么是大数据挖掘和大数据分析
大数据挖掘指对大数据数据分析手段后的信息,进行价值化的分析。
大数据分析指对大数据的一种操作手段,或者算法。目标是针对先验的约束,对数据进行整理、筛选、加工,由此得到信息。
三.大数据挖掘和大数据分析有什么区别
大数据挖掘是对信息的价值化的获取。价值化自然不会考虑数据本身,而是考虑数据是否有价值。由此,一批数据,你尝试对它做不同的价值评估,这是大数据挖掘。
大数据分析是以输入的数据为基础,通过先验的约束,对数据进行处理,但是不以结论何如为调整。例如你需要图像识别,这个属于大数据分析。你要分析人脸,数据就是通过先验的 方法,就是出来个猫脸。你的数据分析也没有问题,你需要默默承受结果,并且尊重事实。因此大数据分析的重点在于数据的有效性、真实性和先验约束的正确性。
大数据挖掘与大数据分析一样吗?此时对比大数据分析,最大的特点就是你需要调整你不同的先验约束,再次对数据进行分析。而先验的约束已经不是针对数据来源自身的特点,例如信噪比处理算法。你期望得到的一个有价值的内容,做先验的约束,以观测,数据根据这个约束,是否有正确的反馈。
大数据挖掘与大数据分析一样吗?不管大数据挖掘和大数据分析有什么不同,这两个职位的前景都是十分好的,现在入行,正是最好的时机。
- ?
数据分析与数据挖掘的区别是什么?
猫眼
展开
数据分析可以分为广义的数据分析和狭义的数据分析,广义的数据分析就包括狭义的数据分析和数据挖掘,我们常说的数据分析就是指狭义的数据分析,下面来看看数据分析与数据挖掘的区别对比。
上海数据分析网先来了解下数据分析与数据挖掘的基本定义
数据分析(狭义):
(1)定义:简单来说,数据分析就是对数据进行分析。专业的说法,数据分析是指根据分析目的,用适当的统计分析方法及工具,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据的作用;
(2)作用:它主要实现三大作用:现状分析、原因分析、预测分析(定量)。数据分析的目标明确,先做假设,然后通过数据分析来验证假设是否正确,从而得到相应的结论;
(3)方法:主要采用对比分析、分组分析、交叉分析、回归分析等常用分析方法;
(4)结果:数据分析一般都是得到一个指标统计量结果,如总和、平均值等,这些指标数据都需要与业务结合进行解读,才能发挥出数据的价值与作用。
数据挖掘:
(1)定义:数据挖掘是指从大量的数据中,通过统计学、人工智能、机器学习等方法,挖掘出未知的、且有价值的信息和知识的过程;
(2)作用:数据挖掘主要侧重解决四类问题:分类、聚类、关联和预测(定量、定性),数据挖掘的重点在寻找未知的模式与规律;如我们常说的数据挖掘案例:啤酒与尿布、安全套与巧克力等,这就是事先未知的,但又是非常有价值的信息;
(3)方法:主要采用决策树、神经网络、关联规则、聚类分析等统计学、人工智能、机器学习等方法进行挖掘;
(4)结果:输出模型或规则,并且可相应得到模型得分或标签,模型得分如流失概率值、总和得分、相似度、预测值等,标签如高中低价值用户、流失与非流失、信用优良中差等。
综合起来,数据分析(狭义)与数据挖掘的本质都是一样的,都是从数据里面发现关于业务的知识(有价值的信息),从而帮助业务运营、改进产品以及帮助企业做更好的决策。所以数据分析(狭义)与数据挖掘构成广义的数据分析。
上海数据分析网数据挖掘与数据分析的主要区别是什么?
1、计算机编程能力的要求
作为数据分析很多情况下需要用到成型的分析工具,比如EXCEL、SPSS,或者SAS、R。一个完全不懂编程,不会敲代码的人完全可以是一名能好的数据分析师,因为一般情况下OFFICE包含的几个工具已经可以满足大多数数据分析的要求了。很多的数据分析人员做的工作都是从原始数据到各种拆分汇总,再经过分析,最后形成完整的分析报告。当然原始数据可以是别人提供,也可以自己提取(作为一名合格的数据分析师,懂点SQL知识是很有好处的)。
而数据挖掘则需要有编程基础。为什么这样说呢?举两个理由:第一个,目前的数据挖掘方面及相关的研究生方面绝大多数是隶属于计算机系;第二点,在招聘岗位上,国内比较大的公司挂的岗位名称大多数为“数据挖掘工程师”。从这两点就可以明确看出数据挖掘跟计算机跟编程有很大的联系。
2、在对行业的理解的能力
要想成为一名优秀的数据分析师,对于所从事的行业有比较深的了解和理解是必须要具备的,并且能够将数据与自身的业务紧密结合起来。简单举个例子来说,给你一份业务经营报表,你就能在脑海中勾画出目前经营状况图,能够看出哪里出现了问题。但是,从事数据挖掘不一定要求对行业有这么高的要求。
3、专业知识面的要求
数据分析师出对行业要了解外,还要懂得一些统计学、营销、经济、心理学、社会学等方面的知识,当然能了解数据挖掘的一些知识会更好。数据挖掘工程师则要求要比较熟悉数据库技术、熟悉数据挖掘的各种算法,能够根据业务需求建立数据模型并将模型应用于实际,甚至需要对已有的模型和算法进行优化或者开发新的算法模型。想要成为优秀的数据挖掘工程师,良好的数学、统计学、数据库、编程能力是必不可少的。
总之一句话来概括的话,数据分析师更关注于业务层面,数据挖掘工程师更关注于技术层面。
上海数据分析网数据分析师与数据挖掘工程师的相似点:
1、都跟数据打交道。
他们玩的都是数据,如果没有数据或者搜集不到数据,他们都要丢饭碗。
2、知识技能有很多交叉点。
他们都需要懂统计学,懂数据分析一些常用的方法,对数据的敏感度比较好。
3、在职业上他们没有很明显的界限。
不管是数据分析师还是数据挖掘师在国内的需求量都是越来越大,发展前景不可估量,在一个领域钻研精透,没有理由不成功!
- ?
干货 | 这是一份完整的大数据处理技术总结与分析
苏冰蝶
展开
一 数据分析处理需求分类
1 事务型处理
在我们实际生活中,事务型数据处理需求非常常见,例如:淘宝网站交易系统、12306网站火车票交易系统、超市POS系统等都属于事务型数据处理系统。
这类系统数据处理特点包括以下几点:
一是事务处理型操作都是细粒度操作,每次事务处理涉及数据量都很小。
二是计算相对简单,一般只有少数几步操作组成,比如修改某行的某列;
三是事务型处理操作涉及数据的增、删、改、查,对事务完整性和数据一致性要求非常高。
四是事务性操作都是实时交互式操作,至少能在几秒内执行完成;
五是基于以上特点,索引是支撑事务型处理一个非常重要的技术。
在数据量和并发交易量不大情况下,一般依托单机版关系型数据库,例如ORACLE、MYSQL、SQLSERVER,再加数据复制(DataGurad、 RMAN、MySQL数据复制等)等高可用措施即可满足业务需求。
在数据量和并发交易量增加情况下,一般可以采用ORALCE RAC集群方式或者是通过硬件升级(采用小型机、大型机等,如银行系统、运营商计费系统、证卷系统)来支撑。
事务型操作在淘宝、12306等互联网企业中,由于数据量大、访问并发量高,必然采用分布式技术来应对,这样就带来了分布式事务处理问题,而分布式事务处理很难做到高效,因此一般采用根据业务应用特点来开发专用的系统来解决本问题。
2 数据统计分析
数据统计主要是被各类企业通过分析自己的销售记录等企业日常的运营数据,以辅助企业管理层来进行运营决策。典型的使用场景有:周报表、月报表等固定时间提供给领导的各类统计报表;市场营销部门,通过各种维度组合进行统计分析,以制定相应的营销策略等。
数据统计分析特点包括以下几点:
一是数据统计一般涉及大量数据的聚合运算,每次统计涉及数据量会比较大。
二是数据统计分析计算相对复杂,例如会涉及大量goupby、 子查询、嵌套查询、窗口函数、聚合函数、排序等;有些复杂统计可能需要编写SQL脚本才能实现。
三是数据统计分析实时性相对没有事务型操作要求高。但除固定报表外,目前越来越多的用户希望能做做到交互式实时统计;
传统的数据统计分析主要采用基于MPP并行数据库的数据仓库技术。主要采用维度模型,通过预计算等方法,把数据整理成适合统计分析的结构来实现高性能的数据统计分析,以支持可以通过下钻和上卷操作,实现各种维度组合以及各种粒度的统计分析。
另外目前在数据统计分析领域,为了满足交互式统计分析需求,基于内存计算的数据库仓库系统也成为一个发展趋势,例如SAP的HANA平台。
3 数据挖掘
数据挖掘主要是根据商业目标,采用数据挖掘算法自动从海量数据中发现隐含在海量数据中的规律和知识。
数据挖掘主要过程是:根据分析挖掘目标,从数据库中把数据提取出来,然后经过ETL组织成适合分析挖掘算法使用宽表,然后利用数据挖掘软件进行挖掘。传统的数据挖掘软件,一般只能支持在单机上进行小规模数据处理,受此限制传统数据分析挖掘一般会采用抽样方式来减少数据分析规模。
数据挖掘的计算复杂度和灵活度远远超过前两类需求。一是由于数据挖掘问题开放性,导致数据挖掘会涉及大量衍生变量计算,衍生变量多变导致数据预处理计算复杂性;二是很多数据挖掘算法本身就比较复杂,计算量就很大,特别是大量机器学习算法,都是迭代计算,需要通过多次迭代来求最优解,例如K-means聚类算法、PageRank算法等。
因此总体来讲,数据分析挖掘的特点是:
1、数据挖掘的整个计算更复杂,一般是由多个步骤组成计算流,多个计算步骤之间存在数据交换,也就是会产生大量中间结果,难以用一条sql语句来表达。
2、计算应该能够非常灵活表达,很多需要利用高级语言编程实现。
二 大数据背景下事务型处理系统相关技术
在google、facebook、taobao等大互联网公司出现之后,这些公司注册和在线用户数量都非长大,因此该公司交易系统需要解决“海量数据+高并发+数据一致性+高可用性”的问题。
为了解决该问题,从目前资料来看,其实没有一个通用的解决方案,各大公司都会根据自己业务特点定制开发相应的系统,但是常用的思路主要包括以下几点:
(1)数据库分片,结合业务和数据特点将数据分布在多台机器上。
(2)利用缓存等机制,尽量利用内存,解决高并发时遇到的随机IO效率问题。
(3)结合数据复制等技术实现读写分离,以及提高系统可用性。
(4)大量采用异步处理机制,对应高并发冲击。
(5)根据实际业务需求,尽量避免分布式事务。
1相关系统介绍
1) 阿里CORBAR系统
阿里COBAR系统是一个基于MYSQL数据库的分布式数据库系统,属于基于分布式数据库中间件的分布式数据库系统。该系统是前身是陈思儒开发的“变形虫”系统(以前调研过),由于陈思儒离开阿里去了盛大,阿里当心“变形虫”稳定性等问题,重新开发该项目。
该系统主要采用数据库分片思路,实现了:数据拆分、读写分离、复制等功能。由于此系统由于只需要满足事务型操作即可,因此相对真正并行数据库集群(例如TeraData等),此类系统提供操作没有也不需要提供一些复杂跨库处理,因此该系统存在以下限制:
(1)不支持跨库的join、分页、排序、子查询。
(2)insert等变更语句必须包括拆分字段等。
(3)应该不支持跨机事务(以前变形虫不支持)。
说白了此类系统不具备并行计算能力,基本上相当于数据库路由器!
另外此类系统的在实际应用的关键问题是,根据什么对数据进行切分,因为切分不好会导致分布式的事务问题。
2) 阿里OceanBase系统
该系统也是淘宝为了解决高并发、大数据环境下事务型处理而定制开发的一个系统。该系统主要思路和特点如下:
(1)他们发现在实际生成环境中,每天更新的数据只占总体数据的1%不到,因此他们把数据分为:基线数据和增量更新数据。
(2)基线数据是静态数据,采用分布式存储方式进行存储。
(3)只在一台服务器上存储和处理增量更新数据,并且是在内存中存储和处理更新数据。
(4)在系统负载轻的时候,把增量更新批量合并到基线数据中。
(5)数据访问时同时访问基线数据和增量更新数据并合并。
因此这样好处是:
(1)读事务和写事务分离
(2)通过牺牲一点扩展性(写是一个单点),来避免分布式事务处理。
说明:该系统虽然能处理高并发的事务型处理,号称很牛逼,但其实也只是根据电商的事务处理来定制开发的专用系统,个人认为其技术难度小于oracle等通用型的数据库。该系统无法应用到银行或者12306等,因为其事务处理的逻辑远远比电商商品买卖处理逻辑复杂。
在目前的大数据时代,一定是基于应用定制才能找到好的解决方案!
3) 基于Hbase的交易系统
在hadoop平台下,HBASE数据库是一个分布式KV数据库,属于实时数据库范畴。支付宝目前支付记录就是存储在HBASE数据库中。
HBASE数据库接口是非SQL接口,而是KV操作接口(基于Key的访问和基于key范围的scan操作),因此HBASE数据库虽然可扩展性非常好,但是由于其接口限制导致该数据库能支持上层应用很窄。基于HBASE应用的设计中,关键点是key的设计,要根据需要支持的应用来设计key的组成。
可以认为HBASE数据库只支持作为KEY的这一列的索引。虽然目前HBASE有支持二级索引的方案,二级索引维护将会比较麻烦。
2并发和并行区别
并发是指同时执行通常不相关的各种任务,例如交易型系统典型属于高并发系统。
并行是通过将一个很大的计算任务,划分为多个小的计算任务,然后多个小计算任务的并行执行,来缩短该计算任务计算时间。
两者主要区别在于:
(1)通讯与协调方面:在并行计算中,由于多个小任务同属一个大的计算任务,因此小任务之间存在依赖关系,小任务之间需要大量通讯和协调;相反,并发中的多个任务之间基本相互独立,任务与任务之间相关性很小。
(2)容错处理方面:由于并发任务之间相互独立,某个任务执行失败并不会影响其它的任务。但是并行计算中的多个任务属于一个大任务,因此某个子任务的失败,如果不能恢复(粗粒度容错与细粒度容错),则整个任务都会失败。
3本章总结
数据量大不一定需要并行计算,虽然数据量大,数据是分布存储,但是如果每次操作基本上还是针对少量数据,因此每次操作基本上都是在一台服务器上完成,不涉及并行计算。只是需要通过数据复制、数据缓存、异步处理等方式来支撑高并发访问量
三 大数据背景下数据统计分析技术介绍
随数据量变大,和事务处理不同的是,单个统计分析涉及数据量会非常大,单个统计分析任务涉及数据会分散在多台服务器上,且由于计算量大,采用单台服务器进行计算,会导致计算时间非常长,单个统计分析任务必须采用并行计算方式来加快单个统计分析任务执行速度。
1并行查询与并行计算技术介绍
在大数据背景下的数据统计分析技术门类很多,常见的有:
n MPP并行数据库 : TeraData、GreenPlum、Vertica等。
n 基于MapReduce并行计算框架的数据仓库:
HIVE(Hadoop平台) 、Tenzing(Google公司)
n 基于Hbase的Phoenix系统
n HadoopDB系统
n EMC公司的hapt系统
n MPP分布式查询引擎: Dremel、Impala、Presto、Shard query、Citusdb。
n 基于SPARK的Shark、基于Dryad的SCOPE、基于Tez的stinger。
n 基于hadoop+index的JethroData系统
n 基于内存计算的Druid系统
这些系统都解决了海量数据下的数据统计分析的问题,并且这些系统另外一个共同特点是都提供了SQL或者类SQL接口。
为了能够较好研究这些系统,我们需要对并行查询与并行计算的相关技术做一个简要的介绍。
首先所有的系统都可以分为三个层次: 语义层、并行计算引擎层、分布式存储层。语义层提供一个编程接口让用户表达所需要计算,并负责把该计算翻译成底层并行计算引擎可以执行的执行计划,并由并行计算引擎来执行,最下面一层是分布式存储层。
对于提供类SQL接口并行计算系统,语义层可以认为是SQL解析层。
1) 语义层
SQL语言是一种声名式语言,SQL只是表达了要做什么,而没有表达怎么做。为此,SQL解析层主要作用是:将用户提交的基于SQL的统计分析请求,转化为底层计算引擎层可以执行的执行计划。也就是解决“怎么做”的问题。
SQL解析层工作主要包括两个大方面:
(1) 通过语法分析技术来理解要做什么。在关系数据库中,一般会把SQL语言分析后,形成树型结构的执行计划。
(2) 在语法分析技术上,利用各种优化技术和算法,找出一种最经济物理执行计划。
优化可以分为两个方面:一是逻辑层面优化、二是物理执行层面优化。
(1) 逻辑层优化
逻辑层面个人认为主要是因为同样表达一个分析请求,有的人SQL写的好,有的人SQL写的烂,因此在逻辑层面可以通过一些等价关系代数变换,实现查询重写,将写的比较烂的sql变换为好的写法。
比较典型优化是:“把投影和过滤下沉,先执行过滤和投影操作”,减少中间结果。
(2) 物理层优化
物理层面优化是在逻辑优化后,结合实际物理执行过程,找出最优的物理执行计划。生成物理查询计划的工作包括:
ü 增加一些操作符: 包括扫描和排序等。
ü 确定各个操作符实现算法。例如扫描是全表扫描还是利用索引;Join是采用HASH连接、索引连接、合并排序等实现算法中的那一种。
ü 确定操作符之间的数据流转方法:物化还是流水线方式。
ü 采用基于代价估算方法确定最优的物理执行计划,目前代价估算主要是以估算该物理计划需要的IO量。另外对于并行数据库,则还要考虑通讯代价,即尽量减少数据在各个机器之间的传递。
在物理层优化的代价估算过程中,代价估算需要依靠很多统计信息,如表有多大,表中相关列的值分布是什么样子等。传统数据库在数据Load过程中会事先计算好这些统计信息。并行计算中还需要考虑通讯代价。
需要指出是,由于imapla、Presto、HIVE等系统只是一个查询引擎,它们可以直接查询以普通文件方式存储在HDFS系统上的文件,因此这些系统一般无法使用索引和各种统计信息来进行物理执行计划的优化,这些系统一般只能在逻辑层进行一些基于规则静态优化。根据SHARK论文,SHARK系统支持根据前面一些节点计算获得的信息,来动态优化后面执行计划。
(3) 物化与流水线执行方法
一条SQL语句对开发人员而言,感觉只是一次调用,但是实际上在数据库内部,一条SQL语句执行其实是有多个操作符组合而成的的树型结构计算流。如下图:
针对该计算流有两种执行方式:一是基于物化或者是实体化执行方式,另外一种是基于数据流的执行方式。
第一种方法的过程是: 把各个操作运算排序,并把每个操作运算的输出的中间结果存储在磁盘上,直到被另外一个操作运算所...
- ?
大数据分析与数据分析的根本区别在哪里?
静白
展开
作者:CDA数据分析师
大数据分析与数据分析这几年一直都是个高频词,很多人都开始纷纷转行到这个领域,也有不少人开始跃跃欲试,想找准时机进到大数据或数据分析领域。如今大数据分析和数据分析火爆,要说时机,可谓处处都是时机,关键要明了的一点是,大数据分析和数据分析两者的根本区别在哪里,只有真正了解了,才会知晓更加适合自己的领域是大数据分析师还是数据分析师。毕竟职场如战场,时间就是生活,不容儿戏,更不容怠慢。下面我来好好告诉大家两者的本质区别到底是什么!
大数据分析:指无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》 中大数据分析指不用随机分析法(抽样调查)这样的捷径,而采用所有数据进行分析处理,因此不用考虑数据的分布状态(抽样数据是需要考虑样本分布是否有偏,是否与总体一致)也不用考虑假设检验,这点也是大数据分析与一般数据分析的一个区别。
数据分析是指用适当的统计分析方法对收集来的大量数据进行分析,提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。
大数据分析与数据分析最核心的区别是处理的数据规模不同,由此导致两个方向从业者的技能也是不同的。在CDA人才能力标准中从理论基础、软件工具、分析方法、业务分析、可视化五个方面对数据分析师与大数据分析师进行了定义。
【数据分析师的要求】
数据分析师的理论要求:统计学、概率论和数理统计、多元统计分析、时间序列、数据挖掘。
工具要求:必要:Excel、SQL可选:SPSS MODELER、R、Python、SAS等
分析方法要求:除掌握基本数据处理及分析方法以外,还应掌握高级数据分析及数据挖掘方法(多元线性回归法,贝叶斯,神经网络,决策树,聚类分析法,关联规则,时间序列,支持向量机,集成学习等)和可视化技术。
业务分析能力:可以将业务目标转化为数据分析目标;熟悉常用算法和数据结构,熟悉企业数据库构架建设;针对不同分析主体,可以熟练的进行维度分析,能够从海量数据中搜集并提取信息;通过相关数据分析方法,结合一个或多个数据分析软件完成对海量数据的处理和分析。
结果展现能力:报告体现数据挖掘的整体流程,层层阐述信息的收集、模型的构建、结果的验证和解读,对行业进行评估,优化和决策。
【大数据分析师的要求】
理论要求:统计学、概率论和数据库、数据挖掘、JAVA基础、Linux基础。
工具要求:必要: SQL、Hadoop、HDFS、Mapreduce、Mahout、Hive、Spark可选:RHadoop、Hbase、ZooKeeper等
分析方法要求:熟练掌握hadoop集群搭建;熟悉nosql数据库的原理及特征,并会运用在相关的场景;熟练运用mahout、spark提供的进行大数据分析的数据挖掘算法,包括聚类(kmeans算法、canopy算法)、分类(贝叶斯算法、随机森林算法)、主题推荐(基于物品的推荐、基于用户的推荐)等算法的原理和使用范围。
业务分析能力:熟悉hadoop+hive+spark进行大数据分析的架构设计,并能针对不同的业务提出大数据架构的解决思路。掌握hadoop+hive+ Spark+tableau平台上Spark MLlib、SparkSQL的功能与应用场景,根据不同的数据业务需求选择合适的组件进行分析与处理。并对基于Spark框架提出的模型进行对比分析与完善。
结果展现能力:报告能体现大数据分析的优势,能清楚地阐述数据采集、大数据处理过程及最终结果的解读,同时提出模型的优化和改进之处,以利于提升大数据分析的商业价值。
综上大数据分析与数据分析的根本区别就是分析的思维与分析所用的工具不同。大家在求职或转行过程认清自己对两者的偏好和自己的兴趣所在,以及自己的能力更适合在哪个领域发挥,还有自己所在城市对两者的职业需求,综合天时地利人和三个条件,我们才能做出更理智更客观更科学的抉择。
数据分析与
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并