Apache Spark

Spark

Apache Spark是一个强大的开源处理引擎。是快速、易于使用的框架,允许你解决各种复杂的数据问题,无论是半结构化、结构化、流式或机器学习、数据科学。它以成为大数据方面最大的开源社区之一。

Apache Spark

Apache Spark是一个开源的、强大的分布式查询和处理引擎。可以轻松的训练和部署复杂的统计模型。Java、Scala、Python、R和SQL都可以访问Spark API。Apache Spark可用于构建应用程序,或将其打包成为要部署再集群上的库,或通过notebook交互式执行快速的分析

Spark作业和API

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

驱动进程会确定任务进程的数量和组成,这些任务进程是根据为指定作业生成的图形分配给执行节点。任何工作节点都可以执行来自多个不同作业的多个任务 Spark作业与一系列对象依赖相关联,这些以来关系是以向无环图(DAG)的方式组织的

弹性分布式数据集

弹性分布式数据集(简称RDD)是不可变Java虚拟机(JVM)对象的分布式集合,Apache Spark就是围绕着RDD而构建的。使用Python时要注意Python数据是存储这些JVM对象中。对RDD计算依据缓存和存储再内存中模式进行:与其他传统分布式框架(Apache Hadoop)相比,该模式使得计算速度快了一个数量级 RDD有两组并行操作:转换(返回指向新RDD的指针)和动作(在运行计算后向驱动程序返回值)。

DataFrame

DataFrame像RDD一样,是以分布在集群的节点中的不可变数据集合。然而,与RDD不同的是,在DataFrame中,数据是以命名列的方式组织的。 DataFrame的一个主要优点:Spark引擎一开始就构建了一个逻辑执行计划,而且执行生成的代码时基于成本优化程序确定的物理计划。与Java或者Scala相比,Python中的RDD非常慢,而DataFrame的引入则使性能在各种语言中都保持稳定。

Dataset

Spark Dataset旨在提供一个API,允许用户轻松的表达域对象的转换,同时还提供了具有强大性能和优点的Spark SQL执行引擎。

Catalyst 优化器

Spark SQL是Apache Spark最具技术性的组件,它支持SQL查询和DataFrame API。Spark SQL的核心是Catalyst优化器。优化器基于函数式编程结构,并且旨在实现两个目的:简化向Spark SQL添加新的优化技术和特性的条件,并允许扩展(例如:添加数据源特定规则,支持新的数据类型等):

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值