spark中会遇到的一些名词

本文介绍了Spark中的核心组件,如RDD、Application、Driver Program等,以及它们之间的关系。此外,还详细阐述了Spark的几种运行模式,包括Local、Standalone、Yarn和Mesos。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RDD Resillient distributed dataset 弹性分布式数据集
Application Spark的用户程序
Driver Program 运行main函数并且新建SparkContext的程序
Cluster Manager Spark集群资源调度服务(standalone,mesos,yarn)
Worker Node Spark集群中的运行应用代码的节点
Executor worker node的一个进程,负责运行任务,并且负责将数据存在内存或磁盘上。 每个应用都用独立的executor
Task 被送到某个executor上的工作单元
job 包含多个RDD及作用于RDD上的各种operation(每个job包含多个stage,一个 stage是由task完成)
Stage 一个job分为多个阶段
Narrow Dependency 窄依赖,子RDD依赖父RDD中固定的data partition
Wide Dependency 宽依赖,子RDD对父RDD的所有data partition都有依赖
Caching Management 缓存管理,对RDD的中间计算结果进行缓存管理以加快整体的处理速度
可以通过哪些模式运行Spark
Local 使用与windows和linux平台(多用于测试)。
Standalone spark集群模式,使用spark自己的调度方式。
Yarn 对Mapreduce V1升级的经典版本,支持spark。
Mesos 类似Yarn的资源调度框架,提供了有效的、跨分布式应用或框架的资源隔离和共        享,可以运行Hadoop、Spark等框架。
Spark中,有一些名词概念是需要理解的,其中包括函数式编程。下面简单介绍一下这些概念。 ### 名词解释 - Spark:一个开源的分布式计算框架,可以用于大规模数据处理。 - RDD(Resilient Distributed Dataset):弹性分布式数据集,是一种能够被并行处理的、容错的、不可变的数据集。 - DataFrame:一个分布式的数据集合,可以被看做是由一组命名列组成的表格。 - Dataset:一种类型化的DataFrame,可以在编译期进行类型检查,提高代码的可靠性和性能。 - Spark SQL:一个用于结构化数据处理的模块,支持SQL语言和DataFrame/Dataset API。 - Spark Streaming:一个用于实时数据处理的模块,可以对实时数据流进行高效的处理。 - MLlib:一个用于机器学习的库,包含了用的机器学习算法和工具。 - GraphX:一个用于图计算的库,支持大规模的图计算操作。 ### 函数式编程 函数式编程是一种编程范式,强调将计算过程看作是一系列的函数组合。与命令式编程相比,函数式编程更加注重表达式的求值结果,而不是执行的过程。因此,函数式编程更加关注问题的本质,而不是解决问题的步骤。 在Spark中,函数式编程也得到了广泛的应用。例如,Spark中的RDD和DataFrame/Dataset都是不可变的数据结构,这也是函数式编程的一个特点。此外,Spark中的很多API都是基于函数式编程的风格,例如map、filter、reduce等操作都是函数式编程中见的操作。函数式编程还能够帮助我们编写更加简洁、可读性更高的代码,提高代码的可维护性和可扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值