Spark学习笔记(一)

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。首先了解下什么是大数据,以及大数据处理框架的区别。

一、什么是大数据?

1.定义

  • 维基百科:所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理,并整理成为帮助企业经营决策更积极目的的资讯.
  • IDC(国际数据公司):为更经济地从高频率的、大容量的、不同结构和类型的数据中获取价值而设计的新一代架构和技术.
  • 信息专家涂子沛.《大数据》:“大数据”之“大”,并不仅仅指“容量大”,更大的意义在于通过对海量数据的交换、整合和分析,发现新的知识,创造新的价值,带来“大知识”、“大科技”、“大利润”和“大发展”.
  • NIST(美国国家标准和技术研究院):大数据是指数据的容量、数据的获取速度或者数据的表示限制了使用传统关系方法对数据的分析处理能力, 需要使 用水平扩展的机制以提高处理效率.

虽然大数据的定义尚没有一个统一的定义,但不难看出,各种定义方式对大数据的描述都存在的共同点:在种类繁多、数量庞大的数据中,快速获取信息

2.大数据 vs 传统数据

在这里插入图片描述
具体来说,就是大数据比传统数据体量大,产生速率高,结构不够规范,整合难度高,数据源不同,存储方式不同,数据访问方式不同。

3.大数据价值实现的基本要素

(1) 大分析:通过创新性的数据分析方法实现对大量数据的快速、高效、及时的分析与计算,得出跨数据 间的、隐含于数据中的规律、关系和内在逻辑,帮助用户理清事件背后的原因、预测发展趋势、获取新价值;
(2) 大带宽:通过大带宽提供良好的基础设施,以便在更大范围内进行数据的收集,以更快的速度进行数据的传输,为大数据的分析、计算等环节提供时间和数据量方面的基本保障;
(3) 大内容:只有在数据内容足够丰富、数据量足够大的前提下,隐含于大数据中的规律、特征才能被识 别出来。

4.大数据科学 VS 大数据框架

  • 大数据科学:涵盖大数据获取、调节和评估技术的研究;
  • 大数据框架:在计算单元集群间解决大数据问题的分布式处理和分析的软件库及算法,一个或多个大数据框架的实例化即为大数据基础设施。

二、大数据处理

1.批量处理

大数据的批量处理系统适用于先存储后计算,实时性要求不高,同时数据的准确性。和全面性更为重要的场景
在这里插入图片描述

(1)批量数据特征

  • 体量巨大.:很少进行更新,存储时间长,可以重复利用, 不容易对其进行移动和备份。
  • 精确度高:批量数据往往是从应用中沉淀下来的数据,因此精度相对较高,是企业资产的一部分宝贵财富。
  • 价值密度低:需要通过合理的算法才能从批量的数据中抽取有用的价值, 适合大型的相对比较成熟的作业。

(2)代表性处理系统

Hadoop是典型的大数据批量处理架构,由 HDFS 负责静态数据的存储,通过 MapReduce 将计算逻辑分配到各数据节点进行数据计算和价值发现,并且以 HDFS 和 MapReduce 为基础建立了很多项目,形成了 Hadoop 生态圈。

MapReduce 编程模型的特点:

  • 无共享大规模集群系统.集群系统具有良好的性价比和可伸缩性;
  • 模型简单、易于理解、易于使用;
  • 虽然基本的 MapReduce模型只提供一个过程性的编程接口,但在海量数据环境、需要保证可伸缩性的前提下,通过使用合适的查询优化和索引技术,MapReduce仍能够提供很好的数据处理性能。

2.流式处理

流式计算系统适用于无需先存储,可以直接进行数据计算,实时性要求很严格,但数据的精确度要求稍微宽松的应用场景。
在这里插入图片描述

(1)流式数据特征

1) 实时性

流式大数据是实时产生、实时计算,结果反馈往往也需要保证及时性.流式大数据价值的有效时间较
短,大部分数据到来后直接在内存中进行计算并丢弃,只有少量数据才被长久保存到硬盘中。

需求:足够的低延迟计算能力,可以快速地进行数据计算,在数据价值有效的时间内,体现数据的有用性。对于时效性特别短、潜在价值又很大的数据可以优先计算.。

2) 易失性

数据的使用往往是一次性的、易失的,即使重放,得到的数据流和之前的数据流通常也是不同的。

需求:具有一定的容错能力,要充分地利用好仅有的一次数据计算机会,尽可能全面、准确、有效地从数据流中得出有价值的信息.。

3) 突发性

不同的数据源在不同时空范围内的状态不统一且发生动态变化,即前一时刻数据速率和后一时刻数据速率可能会有巨大的差异。

需求:具有很好的可伸缩性,能够动态适应不确定流入的数据流,具有很强的系统计算能力和大数据流量动态匹配的能力。一方面,在突发高数据流速的情况下,保证不丢弃数据,或者识别并选择性地丢弃部分不重要的数据;另一方面,在低数据速率的情况下,保证不会太久或过多地占用系统资源.。

4) 无序性

各数据流之间、同一数据流内部各数据元素之间是无序的。一方面,各数据源之间是相互独立的,所处的时空环境也不尽相同,因此无法保证数据流间的各个数据元素的相对顺序;另一方面,即使是同一个数据流,由于时间和环境的动态变化,也无法保证重放数据流和之前数据流中数据元素顺序的一致性。
需求:在数据计算过程中具有很好的数据分析和发现规律的能力,不能过多地依赖数据流间的内在逻辑或者数据流内部的内在逻辑。

5) 无限性

数据是实时产生、动态增加的,只要数据源处于活动状态,数据就会一直产生和持续增加下去,即潜在的数据量是无限的,无法用一个具体确定的数据实现对其进行量化。
需求:具有很好的稳定性,保证系统长期而稳定地运行。

(2)代表性处理系统

现有的大数据流式计算系统实例有 Twitter 的 Storm系统、Yahoo 的 S4(simple scalable streaming system)系统、Facebook 的 Data Freeway and Puma 系统、Linkedin 的 Kafka 系统、Microsoft 的 TimeStream 系统、Hadoop 之上的数据分析系统 HStreaming、IBM 的商业流式计算系统 StreamBase、Berkeley 的交互式实时计算系统 Spark、专门进行复杂事件处理(complex event processing,简称 CEP)的 Esper系统,由Apache 软件基金会开发的开源流处理框架Flink等。

3.交互式处理

(1)交互式数据数据特征

交互式数据处理灵活、直观、便于控制。系统与操作人员以人机对话的方式一问一答,采用这种方式,存储在系统中的数据文件能够被及时处理修改,同时处理结果可以立刻被使用。
需求:保证输入的信息得到及时处理,使交互方式继续进行下去。

(2)代表性处理系统

  • Berkeley 的 Spark 系统 :Spark 是为集群计算中的特定类型的工作负载而设计,即在并行操作之间重用工作数据集(比如机器学习算法)的工作负载;
  • Google 的 Dremel 系统:专注于只读嵌套数据的分析,可以组建成规模上千的服务器集群,处理 PB 级数据。

4.图数据处理

(1)图数据数据特征

图数据中主要包括图中的节点以及连接节点的边,通常具有 3 个特征.

  • 节点之间的关联性。图中节点和关系信息同等重要;
  • 图数据的种类繁多。在许多领域中, 使用图来表示该邻域的数据,如生物、化学、计算机视觉、模式识别、信息检索、社会网络、知识发现、动态 网络交通、语义网、情报分析等。每个领域对图数据的处理需求不同,没有一个通用的图数据处理系统满足所有领域的需求;
  • 图数据计算的强耦合性。在图中,数据之间是相互关联的,对图数据的计算也是相互关联的。大图数据无法使用单台机器处理,又难以分割成若干完全独立的子图进行独立的并行处理,即使可以分割,也会面临并行机器的协同处理,以及将最后的处理结果进行合并等一系列问题。

(2)代表性处理系统

  • Google 的 Pregel 系统:基于 BSP(Bulk synchronous parallel)模型的分布式图计算框架,主要用于图遍
    历(BFS)、最短路径(SSSP)、PageRank 计算等;
  • Neo4j 系统:一个高性能的、完全兼容 ACID 特性的、鲁棒的图数据库,解决了拥有大量连接的查询问题,提供了非常快的图算法、推荐系统以及 OLAP 风格的分析,在处理复杂的网络数据时表现出很好的性能;
  • 微软的 Trinity 系统:建立在分布式云存储上的计算平台,可以提供高度并行查询处理、事务记录、一致性控制等功能。

总结

在学习Spark之前看了一些论文,调研了关于大数据的一些理论知识,在这里将我整理的部分内容放上来作为笔记,下一章开始记录在Spark学习过程中的一些知识点。

参考文献:
[1]李学龙,龚海刚.大数据系统综述[J].中国科学:信息科学,2015,45(01):1-44.
[2]程学旗,靳小龙,王元卓,郭嘉丰,张铁赢,李国杰.大数据系统和分析技术综述[J].软件学报,2014,25(09):1889-1908.DOI:10.13328/j.cnki.jos.004674.
[3]孟小峰,慈祥.大数据管理:概念、技术与挑战[J].计算机研究与发展,2013,50(01):146-169.
[4]孙大为,张广艳,郑纬民.大数据流式计算:关键技术及系统实例[J].软件学报,2014,25(04):839-862.DOI:10.13328/j.cnki.jos.004558.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值