谁能讲清楚Spark之Spark逻辑处理流程

本文详细介绍了Spark的逻辑处理流程,从数据源开始,讲解RDD数据模型、数据操作(transformation与action)以及计算处理结果的方式。重点阐述了RDD的特点、数据依赖关系,特别是窄依赖与宽依赖的概念,并探讨了数据分区的方法。
摘要由CSDN通过智能技术生成

        本次主要介绍Spark是如何将应用程序转化为逻辑处理流程的,包括RDD数据模型概念、数据操作概念,以及数据依赖关系的建立规则等。

一.spark处理流程概览

spark 典型的逻辑处理流程包括四部分:

1 数据源:数据源表示的是原始数据,数据可以存放在本地文件系统和分布式文件系统中,如HDFS、分布式Key-Value数据(HBase)等。

2 数据模型:确定了数据源后,我们需要对数据进行操作处理。首要问题是如何对输入/输出、中间数据进行抽象表示,使得程序能够识别处理。在面向对象中将数据抽象为对象(object)。然后,我们可以在对象上定义数据操作,Hadoop MapReduce框架将输入/输出、中间数据抽象为K,V,record。这种数据表示方式的优点是简单易操作,缺点是过于细粒度,没有对这些数据进行更高层的抽象,导致只能使用map(K,V)这样的固定形式去处理数据,而无法使用类似面向对象程序的灵活数据处理方式。Spark认知到了这个缺点,将输入/输出、中间数据抽象表示为统一 的数据模型命名为RDD,RDD中可以包含各种类型的数据。

它与普通的数据结构的主要区分有三点:
        1)RDD只是一个逻辑概念,在内存中并不会真正地为某个RDD分配 存储空间(除非该RDD

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值