知识回顾与
数据分析指用适当的统计、分析方法对收集来的大量数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程。
数据也称为观测值,是实验、测量、观察、调查等的结果。数据分析中所处理的数据分为定性数据和定量数据。只能归入某一类而不能用数值进行测度的数据称为定性数据。定性数据中表现为类别,但不区分顺序的,是定类数据,如性别、品牌等;定性数据中表现为类别,但区分顺序的,是定序数据,如学历、商品的质量等级等。
在统计学领域,有些人将数据分析划分为描述性统计分析、探索性数据分析以及验证性数据分析;其中,探索性数据分析侧重于在数据之中发现新的特征,而验证性数据分析则侧重于已有假设的证实或证伪。
探索性数据分析
探索性数据分析是指为了形成值得假设的检验而对数据进行分析的一种方法,是对传统统计学假设检验手段的补充。该方法由美国著名统计学家约翰·图基(John Tukey)命名。
定性数据分析
定性数据分析又称为“定性资料分析”、“定性研究”或者“质性研究资料分析”,是指对诸如词语、照片、观察结果之类的非数值型数据(或者说资料)的分析。
离线数据分析
离线数据分析用于较复杂和耗时的数据分析和处理,一般通常构建在云计算平台之上,如开源的HDFS文件系统和MapReduce运算框架。Hadoop机群包含数百台乃至数千台服务器,存储了数PB乃至数十PB的数据,每天运行着成千上万的离线数据分析作业,每个作业处理几百MB到几百TB甚至更多的数据,运行时间为几分钟、几小时、几天甚至更长。
在线数据分析
在线数据分析也称为联机分析处理,用来处理用户的在线请求,它对响应时间的要求比较高(通常不超过若干秒)。与离线数据分析相比,在线数据分析能够实时处理用户的请求,允许用户随时更改分析的约束和限制条件。与离线数据分析相比,在线数据分析能够处理的数据量要小得多,但随着技术的发展,当前的在线分析系统已经能够实时地处理数千万条甚至数亿条记录。传统的在线数据分析系统构建在以关系数据库为核心的数据仓库之上,而在线大数据分析系统构建在云计算平台的NoSQL系统上。如果没有大数据的在线分析和处理,则无法存储和索引数量庞大的互联网网页,就不会有当今的高效搜索引擎,也不会有构建在大数据处理基础上的微博、博客、社交网络等的蓬勃发展。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。
Hadoop是一个能够对大量数据进行分布式处理的软件框架。 Hadoop 以一种可靠、高效、可伸缩的方式进行数据处理 。
Hadoop 是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理 。
Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度 。
Hadoop 还是可伸缩的,能够处理 PB 级数据 。
此外,Hadoop 依赖于社区服务,因此它的成本比较低,任何人都可以使用 。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点 :
1.高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖 。
2.高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中 [4] 。
3.高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快 。
4.高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配 。
5.低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低 。
Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++ 。
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop 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 比 Hadoop 快100倍。
易用性
Spark 提供了80多个高级运算符。
通用性
Spark 提供了大量的库,包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX。 开发者可以在同一个应用程序中无缝组合使用这些库。
支持多种资源管理器
Spark 支持 Hadoop YARN,Apache Mesos,及其自带的独立集群管理器
Spark生态系统
Shark:Shark基本上就是在Spark的框架基础上提供和Hive一样的HiveQL命令接口,为了zui大程度的保持和Hive的兼容性,Spark使用了Hive的API来实现query Parsing和 Logic Plan generation,最后的PhysicalPlan execution阶段用Spark代替HadoopMapReduce。通过配置Shark参数,Shark可以自动在内存中缓存特定的RDD,实现数据重用,进而加快特定数据集的检索。同时,Shark通过UDF用户自定义函数实现特定的数据分析学习算法,使得SQL数据查询和运算分析能结合在一起,zui大化RDD的重复使用。
SparkR:SparkR是一个为R提供了轻量级的Spark前端的R包。 SparkR提供了一个分布式的data frame数据结构,解决了 R中的data frame只能在单机中使用的瓶颈,它和R中的data frame 一样支持许多操作,比如select,filter,aggregate等等。(类似dplyr包中的功能)这很好的解决了R的大数据级瓶颈问题。 SparkR也支持分布式的机器学习算法,比如使用MLib机器学习库。 SparkR为Spark引入了R语言社区的活力,吸引了大量的数据科学家开始在Spark平台上直接开始数据分析之旅。
本课程不包含资料下载。
公开笔记对他人可见,有机会被管理员评为“优质笔记”
{{ noteEditor.content.length }}/2000
讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。
课程大纲
![Python数据分析与大数据](https://s2.51cto.com/images/avater/202102/f674c0984129bc031ad7832951e4c2ec3cb7ef.jpg?x-oss-process=image)
![机器学习算法基础](https://s2.51cto.com/images/201812/17/47a575249543319fb6b5077f95e14e8f.jpg?x-oss-process=image)
![【2020新版更新】人工智能-机器学习实战视频课程( 上篇)](https://s2.51cto.com/images/201702/57c2a5651f528749a4a1711a6506b34b7b0412.png?x-oss-process=image)
![大数据——机器学习视频课程( 下篇 )](https://s2.51cto.com/images/201702/49437f824f3156e0df840630fbc0a5d9413d08.png?x-oss-process=image)
![【微职位】Python数据分析与机器学习实战课程配套视频课程](https://s2.51cto.com/images/201705/c17f89d3944a919e89219585c92443c084a6a0.png?x-oss-process=image)
![从零开始学习机器学习系列视频课程](https://s2.51cto.com/images/201712/06/b05297fbf0ba0ee5cc0689624838715f.jpg?x-oss-process=image)
![Python数据分析--玩转数据挖掘(2024版)](https://s2.51cto.com/images/202011/10/6c2a62357f61e0b62cc23fa7a7720521.png?x-oss-process=image)
![Python机器学习实训营(零基础必备,原理推导+代码复现+实验分析)](https://s2.51cto.com/images/201907/13/a4737b992965668ac23b9e7a1cf6d5b6.png?x-oss-process=image)