数据分析最常用的工具有哪些?

常用数据分析方法论都有哪些?

数据分析方法论主要用来指导进行一次完整的数据分析,它更多的是指数据分析思路,比如主要从哪几方面开展数据分析?各方面包含什么内容和指标?

数据分析方法论主要有以下几个作用:

理顺分析思路,确保数据分析结构体系化

把问题分解成相关联的部分,并显示它们之间的关系

为后续数据分析的开展指引方向

确保分析结果的有效性及正确性


PEST分析理论主要用于行业分析

PEST分析法用于对宏观环境的分析。宏观环境又称一般环境,是指影响一切行业和企业的各种宏观力量。

对宏观环境因素作分析时,由于不同行业和企业有其自身特点和经营需要,分析的具体内容会有差异,但一般都应对政治、经济、技术、社会,这四大类影响企业的主要外部环境因素进行分析。


以下以中国互联网行业分析为例。此处仅为方法是用实力,并不代表互联网行业分析只需要作这几方面的,还可根据实际情况进一步调整和细化相关分析指标:


5W2H分析理论的用途广泛,可用于用户行为分析、业务问题专题分析等。

利用5W2H分析法列出对用户购买行为的分析:

(这里的例子并不代表用户购买行为只有以下所示,要做到具体问题具体分析)

逻辑树分析理论课用于业务问题专题分析

逻辑树又称问题树、演绎树或分解树等。逻辑树是分析问题最常使用的工具之一,它将问题的所有子问题分层罗列,从最高层开始,并逐步向下扩展。

把一个已知问题当成树干,然后开始考虑这个问题和哪些相关问题有关。

(缺点:逻辑树分析法涉及的相关问题可能有遗漏。)

逻辑树分析法在利润分析中的应用:

4P营销理论在公司业务中的应用:

}

大数据是一个含义广泛的术语,是指数据集,如此庞大而复杂的,他们需要专门设计的硬件和软件工具进行处理。该数据集通常是万亿或EB的大小。这些数据集收集自各种各样的来源:传感器,气候信息,公开的信息,如杂志,报纸,文章。大数据产生的其他例子包括购买交易记录,网络日志,病历,军事监控,视频和图像档案,及大型电子商务。

在大数据和大数据分析,他们对企业的影响有一个兴趣高涨。大数据分析是研究大量的数据的过程中寻找模式,相关性和其他有用的信息,可以帮助企业更好地适应变化,并做出更明智的决策。

Hadoop 是一个能够对大量数据进行分布式处理的软件框架。但是 Hadoop 是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。

Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:

⒈高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。

⒉高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

⒊高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

⒋高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

Hadoop带有用 Java 语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。

HPCC,High Performance Computing and Communications(高性能计算与通信)的缩写。1993年,由美国科学、工程、技术联邦协调理事会向国会提交了"重大挑战项目:高性能计算与 通信"的报告,也就是被称为HPCC计划的报告,即美国总统科学战略项目,其目的是通过加强研究与开发解决一批重要的科学与技术挑战问题。HPCC是美国 实施信息高速公路而上实施的计划,该计划的实施将耗资百亿美元,其主要目标要达到:开发可扩展的计算系统及相关软件,以支持太位级网络传输性能,开发千兆 比特网络技术,扩展研究和教育机构及网络连接能力。

该项目主要由五部分组成:

1、高性能计算机系统(HPCS),内容包括今后几代计算机系统的研究、系统设计工具、先进的典型系统及原有系统的评价等;

2、先进软件技术与算法(ASTA),内容有巨大挑战问题的软件支撑、新算法设计、软件分支与工具、计算计算及高性能计算研究中心等;

3、国家科研与教育网格(NREN),内容有中接站及10亿位级传输的研究与开发;

4、基本研究与人类资源(BRHR),内容有基础研究、培训、教育及课程教材,被设计通过奖励调查者-开始的,长期 的调查在可升级的高性能计算中来增加创新意识流,通过提高教育和高性能的计算训练和通信来加大熟练的和训练有素的人员的联营,和来提供必需的基础架构来支 持这些调查和研究活动;

5、信息基础结构技术和应用(IITA ),目的在于保证美国在先进信息技术开发方面的领先地位。

Storm是自由的开源软件,一个分布式的、容错的实时计算系统。Storm可以非常可靠的处理庞大的数据流,用于处理Hadoop的批量数据。Storm很简单,支持许多种编程语言,使用起来非常有趣。Storm由Twitter开源而来,其它知名的应用企业包括Groupon、淘宝、支付宝、阿里巴巴、乐元素、Admaster等等。

Storm有许多应用领域:实时分析、在线机器学习、不停顿的计算、分布式RPC(远过程调用协议,一种通过网络从远程计算机程序上请求服务)、 ETL(Extraction-Transformation-Loading的缩写,即数据抽取、转换和加载)等等。Storm的处理速度惊人:经测 试,每个节点每秒钟可以处理100万个数据元组。Storm是可扩展、容错,很容易设置和操作。

}

Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。在1993年,作为Microsoft Office的组件发布了5.0版之后,Excel就开始成为所适用操作平台上的电子制表软件的霸主。

Excel的功能很强大,能做的事情很多,不仅仅可以做数据存储和制作工作表,与数据分析有关的功能还有这些:

  • 数据透视表/数据透视图

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

我们做数据分析工作时,多数数据来源于信息系统后台的数据库,SQL非常方便我们访问和查询数据库。我们做数据分析工作时,多数数据来源于数据库,SQL非常方便我们访问和查询数据库。

随着大数据时代的来临,BI分析工具也热火朝天的发展起来。由于一直在做SAP的BI产品,所以主要围绕着SAP BO提供的报表工具做一个简单的选型介绍。

        Explorer:功能更多偏向数据探索,对现有数据进行简单分析、研究,并对部分关注的指标进行对比,以便发现不同指标间的联系,指导管理决策。

Cognos是在BI核心平台之上,以服务为导向进行架构的一种数据模型,是唯一可以通过单一产品和在单一可靠架构上提供完整业务智能功能的解决方案。它可以提供无缝密合的报表、分析、记分卡、仪表盘等解决方案,通过提供所有的系统和资料资源,以简化公司各员工处理资讯的方法。作为一个全面、灵活的产品,Cognos业务智能解决方案可以容易地整合到现有的多系统和数据源架构中。

Cognos是世界上最大的业务智能软件制造商,它能够帮助用户提取公司数据,然后分析并汇总得出报告。Cognos有许多产品,但最为著名的还是它的PowerPlay联机分析处理(online analytical

PeopleSoft和Baan。Cognos最近的发展方向是提供更多的基于互联网的软件版本,以及为无线设备提供解决方案。

大模块来看, Cognos产品组件只有三个:

  • Cognos ReportNet Server:负责实现基于数据库的数据查询、报表制作、仪表盘制作、报表/仪表盘展示等等;

Oracle BIEE是一个非常有创造力的工具,它对于物理层,逻辑层,展现层的理解和定义创造了一个非常简洁而清晰的数据模型,使用这个数据模型可以完整地连接企业内各个异构数据源,从而使商业智能真正能够在企业范围内得到大规模部署和使用。

BIEE的数据模型分为3层:

1、 物理层Physical,用于定义和连接各类异构数据源,型数据库、符合XML规范的源数据、OLAP服务、Essbase、Excel等,具体定义数据源物理表结构、字段数据类型、主外键。可简单理解为“物理表定义”。值得一提的是,BIEE只是保存定义,并没有存储数据本身。物理层通过“连接池”、“缓存查询结果”等技术来提高性能。

2、 逻辑层Business Model and Mapping,基于物理层构建的DW多维数据模型如星型模型或雪花模型,以及定义逻辑模型与物理模型间的映射关系。需要定义事实表和维度表的主外键关系,可以定义维度表的层次和事实表的度量。这里是整个BIEE的设计核心,需要“整合”开发人员和业务人员两种视觉。一个逻辑层的表,可能来自多个物理层的表;一个逻辑层的字段,可以来自多个物理层的多个表。

3、 展现层Presentation,该层隐藏掉任何技术术语和模型,去掉任何业务不关心的字段如ID列,以最终用户的视角和术语行描述。最常见的做法是面对不同的用户组——业务部门,来设计不同的展现层分析项。这样做的好处是:可以把报表开发更加完善,符合最终用户的需求。

Tableau Software致力于帮助人们查看并理解数据。Tableau 帮助任何人快速分析、可视化并分享信息。超过 42,000 家客户通过使用 Tableau 在办公室或随时随地快速获得结果。数以万计的用户使用 Tableau Public 在博客与网站中分享数据。

Tableau公司将数据运算与美观的图表完美地嫁接在一起。它的程序很容易上手,各公司可以用它将大量数据拖放到数字“画布”上,转眼间就能创建好各种图表。这一软件的理念是,界面上的数据越容易操控,公司对自己在所在业务领域里的所作所为到底是正确还是错误,就能了解得越透彻。

Microsoft Power BI 是一系列的软件服务、应用和连接器,这些软件服务、应用和连接器协同工作,将不相关的数据源转化为合乎逻辑、视觉上逼真的交互式见解。 不管你的数据是简单的 Microsoft Excel 工作簿,还是基于云的数据仓库和本地混合数据仓库的集合,Power BI 都可让你轻松连接到数据源,可视化(或发现)重要信息,并与所需的任何人共享这些信息。

FineBI是帆软软件有限公司推出的一款商业智能(Business Intelligence)产品,它可以通过最终业务用户自主分析企业已有的信息化数据,帮助企业发现并解决存在的问题,协助企业及时调整策略做出更好的决策,增强企业的可持续竞争性。

数据处理:数据处理服务,用来对原始数据进行抽取,转换,加载。为分析服务生成数据仓库FineCube。

即时分析:可以选择数据快速创建表格或者图表以使数据可视化、添加过滤条件筛选数据,即时排序,使数据分析更快捷。

多维度分析:OLAP分析实现,提供各种分析挖掘功能和预警功能,例如任意维度切换,添加,多层钻取,排序,自定义分组,智能关联等等。

Dashboard:提供各种样式的表格和多种图表服务,配合各种业务需求展现数据。

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

Sciences),但是随着SPSS产品服务领域的扩大和服务深度的增加,SPSS公司已于2000年正式将英文全称更改为“统计产品与服务解决方案”,这标志着SPSS的战略方向正在做出重大调整。SPSS为IBM公司推出的一系列用于统计学分析运算、数据挖掘、预测分析和决策支持任务的软件产品及相关服务的总称,有Windows和Mac OS X等版本。

1984年SPSS总部首先推出了世界上第一个统计分析软件微机版本SPSS/PC+,开创了SPSS微机系列产品的开发方向,极大地扩充了它的应用范围,并使其能很快地应用于自然科学、技术科学、社会科学的各个领域。世界上许多有影响的报刊杂志纷纷就SPSS的自动统计绘图、数据的深入分析、使用方便、功能齐全等方面给予了高度的评价。

Stata的统计功能很强,除了传统的统计分析方法外,还收集了近20年发展起来的新方法,如Cox比例风险回归,指数与Weibull回归,多类结果与有序结果的logistic回归,Poisson回归,负二项回归及广义负二项回归,随机效应模型等。具体说, Stata具有如下统计分析能力:

数值变量资料的一般分析:参数估计,t检验,单因素和多因素的方差分析,协方差分析,交互效应模型,平衡和非平衡设计,嵌套设计,随机效应,多个均数的两两比较,缺项数据的处理,方差齐性检验,正态性检验,变量变换等。

分类资料的一般分析:参数估计,列联表分析 ( 列联系数,确切概率 ) ,流行病学表格分析等。

等级资料的一般分析:秩变换,秩和检验,秩相关等

相关与回归分析:简单相关,偏相关,典型相关,以及多达数十种的回归分析方法,如多元线性回归,逐步回归,加权回归,稳键回归,二阶段回归,百分位数 ( 中位数 ) 回归,残差分析、强影响点分析,曲线拟合,随机效应的线性回归模型等。

其他方法:质量控制,整群抽样的设计效率,诊断试验评价, kappa等。

SAS(全称STATISTICAL ANALYSIS SYSTEM,简称SAS)是全球最大的私营软件公司之一,是由美国北卡罗来纳州立大学1966年开发的统计分析软件。

1976年SAS软件研究所(SAS INSTITUTE INC)成立,开始进行SAS系统的维护、开发、销售和培训工作。期间经历了许多版本,并经过多年来的完善和发展,SAS系统在国际上已被誉为统计分析的标准软件,在各个领域得到广泛应用。

1966年,美国农业部(USDA)收集到巨量的农业数据,急需一种计算机化统计程序来对其进行分析。由美国国家卫生研究院(NIH)资助的八所大学联合会共同解决了这一问题。 最终,统计分析系统(statistical analysis system),也就是SAS应运而生,既给了SAS公司一个响亮的名字,亦成为了公司化运作的起点。

位于北卡罗来纳州首府罗利市的北卡罗来纳州立大学(NCSU)成为该联盟的领导者,因为其更为强大的大型中央处理计算机计算能力而胜出。 NCSU教职员工Jim Goodnight和Jim Barr成为项目负责人。 Barr创建了整个架构,Goodnight则负责实施和实现架构上的各种功能特性,并拓展了系统的性能。 当NIH于1972年停止供资时,社团联盟同意为该项目提供资金,使NCSU能够继续开发维护系统运作,从而支持其统计分析需求。

EViews是Econometrics Views的缩写,通常称为计量经济学软件包。是专门为大型机构开发的、用以处理时间序列数据的时间序列软件包的新版本。

Views的缩写,直译为计量经济学观察,通常称为计量经济学软件包。它的本意是对社会经济关系与经济活动的数量规律,采用计量经济学方法与技术进行“观察”。计量经济学研究的核心是设计模型、收集资料、估计模型、检验模型、应用模型(结构分析、经济预测、政策评价)。EViews是完成上述任务比较得力的必不可少的工具。正是由于EViews等计量经济学软件包的出现,使计量经济学取得了长足的进步,发展成为一门较为实用与严谨的经济学科。

Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。

Python是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,并且能够用简单而又高效的方式进行面向对象编程。 Python优雅的语法和动态类型,再结合它的解释性,使其在许多领域成为编写脚本或开发应用程序的理想语言。

近年来,数据分析工作岗位变得越来越受欢迎,很多人都开始转行做数据分析。而大家也知道,有多种语言都可应用于数据分析,但Python却成为大家的首选,那么为什么使用Python做数据分析?我们来看看原因吧。

Python的语法简单,代码可读性高,容易入门,有利于初学者学习;当我们进行数据处理的时候,我们希望将数据变得数值化,变成计算机可以运作的数字形式,我们可以直接使用一行列表推导式完成,十分简单。

Python在数据分析和交互、探索性计算以及数据可视化等方面都有非常成熟的库和活跃的社区,让Python成为数据任务处理重要解决方案。在数据处理和分析方面,Python拥有numpy、pandas、matplotlib、scikit-learn、ipython等优秀的库以及工具,尤其是pandas在处理数据方面有着绝对优势。

Python拥有强大的通用编程能力,有别于R语言,Python不仅在数据分析方面能力强大,在爬虫、WEB、自动化运维甚至于游戏等领域都有非常不错的作用,公司只需要使用一种技术就可以完成全部服务,有利于业务融合,也可以提高工作效率。

Python是人工智能首选的编程语言,在人工智能时代,Python成为最受欢迎的编程语言。得益于Python简洁、丰富的库和社区,大部分深度学习框架都优先支持Python语言。

R是用于统计计算和图形的语言和环境。这是一个类似于S语言和环境的GNU项目,该项目是由约翰·钱伯斯及其同事在贝尔实验室(原AT&T,现为朗讯技术公司)开发的。R可以看作是S的不同实现。存在一些重要的区别,但是为S编写的许多代码在R的情况下不会改变。

R提供了各种各样的统计信息(线性和非线性建模,经典统计检验,时间序列分析,分类,聚类……)和图形技术,并且具有高度的可扩展性。S语言通常是统计方法论研究的首选工具,R语言提供了一种开放源代码的途径来参与该活动。

R的优势之一是可以轻松制作出精心设计的具有出版质量的图表,包括需要时的数学符号和公式。对于图形中次要设计选项的默认值,我们已格外小心,但用户保留完全控制权。

根据自由软件基金会GNU通用公共许可证的条款,R可作为自由软件以源代码形式获得。它可以在各种UNIX平台和类似系统(包括FreeBSD和Linux),Windows和MacOS上编译并运行。

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。

MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:

1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。

2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。

3)MapReduce是一个并行程序设计模型与方法(Programming Model & Methodology)。它借助于函数式程序设计语言Lisp的设计思想,提供了一种简便的并行程序设计方法,用Map和Reduce两个函数编程实现基本的并行计算任务,提供了抽象的操作和并行编程接口,以简单方便地完成大规模数据的编程和计算处理。

MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。Spark 由加州大学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可用来构建大型的、低延迟的数据分析应用程序。

Spark Streaming 是 Spark 核心 API 的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。

Spark Streaming 支持从多种数据源获取数据,包括 Kafka、Flume、Twitter、ZeroMQ、Kinesis 以及 TCP Sockets。从数据源获取数据之后,可以使用诸如 map、reduce、join 和 window 等高级函数进行复杂算法的处理,最后还可以将处理结果存储到文件系统、数据库和现场仪表盘中。

在 Spark 统一环境的基础上,可以使用 Spark 的其他子框架,如机器学习、图计算等,对流数据进行处理。Spark Streaming 处理的数据流如下面图 1 所示。

与 Spark 的其他子框架一样,Spark Streaming 也是基于核心 Spark 的。Spark Streaming 在内部的处理机制是,接收实时的输入数据流,并根据一定的时间间隔(如 1 秒)拆分成一批批的数据,然后通过 Spark Engine 处理这些批数据,最终得到处理后的一批批结果数据。它的工作原理如图 2 所示。

DStream 既可以利用根据 Kafka、Flume 和 Kinesis 等数据源获取的输入数据流来创建,也可以在其他 DStream 的基础上通过高阶函数获得。

在内部,DStream 是由一系列 RDD 组成的。一批数据在 Spark 内核中对应一个 RDD 实例。因此,对应流数据的 DStream 可以看成是一组 RDD,即 RDD 的一个序列。也就是说,在流数据分成一批一批后,会通过一个先进先出的队列,Spark Engine 从该队列中依次取出一个个批数据,并把批数据封装成一个 RDD,然后再进行处理。

 Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。

任何类型的数据都是作为事件流产生的。信用卡交易,传感器测量,机器日志或网站或移动应用程序上的用户交互,所有这些数据均作为流生成。

数据可以作为无界流或有界流处理。

  1. 无界流有一个起点,但没有定义的终点。它们不会终止并在生成数据时提供数据。无界流必须被连续处理,即,事件在被摄取后必须被及时处理。无法等待所有输入数据到达,因为输入是无界的,并且在任何时间都不会完成。处理无边界数据通常需要以特定顺序(例如事件发生的顺序)来摄取事件,以便能够推断出结果的完整性。

  2. 有界流具有定义的开始和结束。可以通过在执行任何计算之前提取所有数据来处理有界流。由于有界数据集始终可以排序,因此不需要有序摄取即可处理有界流。绑定流的处理也称为批处理。

 hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析。

hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。

因此,hive 并不适合那些需要高实时性的应用,例如,联机事务处理(OLTP)。hive 查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,hive 将用户的hiveQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,Hadoop 监控作业执行过程,然后返回作业执行结果给用户。hive 并非为联机事务处理而设计,hive 并不提供实时的查询和基于行级的数据更新操作。hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。

 spark SQL的架构如图16-12所示,在Shark原有的架构上重写了逻辑执行计划的优化部分,解决了Shark存在的问题。Spark SQL在Hive兼容层面仅依赖HiveQL解析和Hive元数据,也就是说,从HQL被解析成抽象语法树(AST)起,就全部由Spark SQL接管了。Spark SQL执行计划生成和优化都由Catalyst(函数式关系查询优化框架)负责。

Spark SQL可以很好地支持SQL查询,一方面,可以编写Spark应用程序使用SQL语句进行数据查询,另一方面,也可以使用标准的数据库连接器(比如JDBC或ODBC)连接Spark进行SQL查询,这样,一些市场上现有的商业智能工具(比如Tableau)就可以很好地和Spark SQL组合起来使用,从而使得这些外部工具借助于Spark SQL也能获得大规模数据的处理分析能力。

数据科学交流群,群号:,欢迎各位对数据科学感兴趣的小伙伴的加入!

}

我要回帖

更多关于 最常用的数据统计分析方法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信