spark专业术语解释

本文深入解析Spark的重要术语,包括Application/App、Driver、Cluster Manager、Worker和Executor。重点阐述RDD及其依赖,如Narrow Dependency和Shuffle Dependency,以及DAG、DAGScheduler、TaskScheduler、Job、Stage和TaskSet的概念。每个Job由DAG图表示,Action操作触发Job,Stage和Task定义了计算任务的执行流程。

Application/App

	指的是用户编写的Spark应用程序/代码,包含了Driver功能代码和分布在集群中多个节点上运行的Executor代码。
	提示:当对RDD操作代码都是运行在Executor中代码
	使用不同语言,编写代码不一样:
		Java/Scala语言:编译以后Class文件
		Python语言:脚本文件

在这里插入图片描述

Spark应用程序,由一个或多个作业JOB组成(因为代码中可能会调用多次Action)

每个Job就是RDD执行一个Action函数:没有返回值,或者返回值不是RDD

Driver

	Spark中的Driver即运行Application的Main()函数并且创建SparkContext,其中创建SparkContext的目的是为了准备Spark应用程序的运行环境。

在这里插入图片描述

在Spark中由SparkContext负责和ClusterManager通信,进行资源的申请、任务的分配和监控等;
	SparkContext向RM或Master申请资源,运行Executor进程(线程池)。
当Executor部分运行完毕后,Driver负责将SparkContext关闭。

Cluster Manager

指的是在集群上获取资源的外部服务,常用的有:
1)Standa
大数据领域,涉及的专业术语繁多,涵盖从数据采集、存储、处理到分析和应用的全流程。以下是一些常见的术语及其解释: - **Hadoop**:一个开源框架,用于分布式存储和处理大规模数据集。Hadoop的核心是HDFS(Hadoop Distributed File System)和MapReduce,前者负责数据存储,后者负责数据处理[^1]。 - **MapReduce**:一种编程模型,用于大规模数据集的并行处理。它主要包括两个阶段:Map阶段和Reduce阶段。Map阶段负责将数据分割成小块并进行初步处理,而Reduce阶段则负责汇总处理结果。 - **Spark**:一个快速的、通用的集群计算系统,支持内存计算,适用于大规模数据处理任务。Spark提供了多种语言的API,包括Scala、Java、Python和R[^1]。 - **Hive**:一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为数据库表,并提供SQL查询功能,使得用户可以使用类SQL语言进行数据查询和管理。 - **Pig**:一个高级过程语言,用于Hadoop平台上的数据分析。Pig Latin是Pig提供的语言,它简化了MapReduce程序的编写,使得用户可以更容易地进行复杂的数据转换。 - **NoSQL**:一类非关系型数据库,设计用来处理大量非结构化或半结构化数据。NoSQL数据库通常具有高扩展性和高性能的特点,常见的NoSQL数据库有MongoDB、Cassandra等[^1]。 - **ETL**:代表提取(Extract)、转换(Transform)和加载(Load),这三个步骤是数据仓库中的重要流程。ETL工具用于从不同来源提取数据,进行清洗和转换后,加载到目标数据库中[^1]。 - **Data Lake**:一种存储大量原始数据的解决方案,这些数据可以是结构化的、半结构化的或非结构化的。Data Lake允许用户以任意格式存储数据,并在需要时进行处理和分析[^1]。 - **Data Warehouse**:即数据仓库,是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持企业的决策分析。 ### 数据清洗相关术语 - **缺失值处理**:指在数据集中发现缺失值时采取的措施,包括删除含有缺失值的记录、填充缺失值等方法。例如,使用均值、中位数或众数填充缺失值,或者采用插值法、回归分析等更复杂的方法[^2]。 - **异常值检测**:识别数据集中与其他观测值显著不同的数据点。异常值可能是由于测量误差或实际异常情况造成的。常用的检测方法包括Z-score、IQR(四分位距)等统计方法[^2]。 - **重复数据识别**:查找并处理数据集中的重复记录。这可以通过比较记录之间的相似度来实现,例如使用哈希算法快速识别完全相同的记录[^2]。 ### 数据质量管理相关术语 - **DQC (Data Quality Control)**:数据质量控制,是指通过对数据进行各种检测和评估,以确保数据的准确性、完整性、一致性和可靠性的一种管理方法。DQC在数据管理和数据分析中都是非常重要的一环,它可以帮助企业提高数据的质量和可信度,降低数据风险和成本,提高数据价值和效益[^3]。 - **IMEI (International Mobile Equipment Identity)**:国际移动设备识别码,是一串唯一的数字,用于唯一标识移动电话等设备。IMEI码由15位数字组成,可以用来追踪丢失或被盗的设备[^3]。 ### 分布式系统相关术语 - **RPC (Remote Procedure Call)**:远程过程调用,是一种进程间通信的模式,允许一个程序调用另一个地址空间中的过程或函数,而无需程序员显式编码这个远程交互的细节。RPC在分布式系统中有着广泛的应用,如微服务架构、分布式计算、云计算等领域。常见的RPC框架包括Dubbo、gRPC、Apache Thrift等,它们提供了各种功能,如服务发现、负载均衡、数据序列化等,以简化远程过程调用的开发和管理[^4]。 - **短网址服务**:一种将长URL转换为较短形式的服务,便于分享和传播。短网址服务通常通过一个中间服务器来实现,该服务器维护着短网址与原始长网址之间的映射关系。 以上术语仅是大数据领域众多术语中的一部分,每个术语背后都有其特定的应用场景和技术细节。 ```python # 示例:使用Pandas处理缺失值 import pandas as pd # 创建一个包含缺失值的DataFrame df = pd.DataFrame({ 'A': [1, 2, None], 'B': [5, None, None], 'C': [1, 2, 3] }) # 使用均值填充缺失值 df.fillna(df.mean(), inplace=True) print(df) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值