pyspark系统学习1——spark介绍

Spark发展

     Spark API历史演变图

            

Dataframe和Dataset API的同意使创建向后兼容的重大改变成为可能。这是Apache Spark2.0成为主要版本。DataFrame和Dataset都属于新的Dataset API,提供了一种类型安全的面向对象的编程接口。通过将表达式和数据字段暴露给查询计划器和Project Tungsten的快速内存编码。

Spark执行过程

      任何Spark应用程序都会分离主节点上的单个驱动进程(可以包含多个作业),然后将执行进程分配给多个工作结点,如下图:

                                     

       驱动进程会确定任务进程的数量和组成,这些任务进程是根据为指定作业生成的图形分配给执行节点的。注意,任何工作节点都可以执行来自多个不同作业的多个任务。

      Spark作业与一些列对象依赖相关联,这些依赖关系是以有向无环图(DAG)的方式组织的,例如从Spark UI生成一下示例。基于这些,Spark可以优化调度(例如确定所需的任务和工作结点数量并执行这些任务

弹性分布式数据集(RDD)

       弹性分布式数据集(简称RDD)是不可变Java虚拟机(JVM)对象得分布式集合,Apache Spark就是围绕着RDD而构建的。对RDD得计算依据缓存和存储在内存中得模式进行:与其他传统分布式框架(如Apache Hadoop)相比,该模式使得计算速度快了一个数量级。

       同时,RDD会给出一些细粒度得数据转换(例如map,reduce和fiter),保持Hadoop平台得灵活性和可扩展性,以执行各种各样得计算。RDD以并行方式应用和记录数据转换,从而提高了速度和容错能力。通过注册这些转换,RDD提供数据沿袭——以图形形式给出的每个中间步骤的祖先树。这实际上保护RDD免于数据丢失——如果一个RDD分区丢失,它仍然具有足够的信息来重新创建该分区,而不是简单地依赖复制。

      RDD转换操作时惰性地,因为它们不立即计算其结果。只有动作执行了并且需要将结果返回给驱动程序时,才会计算转换。

DataFrame

       DataFrame与RDD一样,是分布在集群地节点中地不可变地数据集合。然而与RDD不同地是,在DataFrame中,数据是以命名列地方式组织地。

DataFrame地一个主要优点是,Spark引擎一开始就构建了一个逻辑执行计划,而且执行生成地代码是基于成本优化程序确定地物理计划。与Java或者Scala相比,Python中的RDD是非常慢的,而DataFrame的引入则使性能在各种语言中都保持稳定。

SparkSession

        SparkSession本质上是SparkConf、SparkContext、SQLContext和HiveContext来分别执行配置、Spark环境、SQL环境和Hive环境的各种Spark查询。SparkSession本质上是这些环境的组合,包括StreamingContext。

        SparkSession现在是读取数据、处理元数据、配置会话和管理集群资源的入口

 

pyspark系统学习2——弹性分布式数据集

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞华1993

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值