Spark-task相关

本文深入探讨了Apache Spark框架中任务(Task)的状态管理与结束原因,包括任务执行过程中的状态转换及结束时可能遇到的各种情况。

Spark-task相关

@(spark)[Task]

TaskState

private[spark] object TaskState extends Enumeration {                                                                                                                   

  val LAUNCHING, RUNNING, FINISHED, FAILED, KILLED, LOST = Value                                                                                                        

  val FINISHED_STATES = Set(FINISHED, FAILED, KILLED, LOST)      

Task的状态,本文件还包含了mesos相关状态的转换

TaskEndReason

本质上是个枚举类,标识了所有的task end 的reason

/**                                                                                                                                                                     
 * :: DeveloperApi ::                                                                                                                                                   
 * Various possible reasons why a task ended. The low-level TaskScheduler is supposed to retry                                                                          
 * tasks several times for "ephemeral" failures, and only report back failures that require some                                                                        
 * old stages to be resubmitted, such as shuffle map fetch failures.                                                                                                    
 */                                                                                                                                                                     
@DeveloperApi                                                                                                                                                           
sealed trait TaskEndReason   

TaskContext

/**                                                                                                                                                                     
 * Contextual information about a task which can be read or mutated during                                                                                              
 * execution. To access the TaskContext for a running task, use:                                                                                                        
 * {{{                                                                                                                                                                  
 *   org.apache.spark.TaskContext.get()                                                                                                                                 
 * }}}                                                                                                                                                                  
 */                                                                                                                                                                     
abstract class TaskContext extends Serializable {   

接口定义

TaskContextHelper

/**                                                                                                                                                                     
 * This class exists to restrict the visibility of TaskContext setters.                                                                                                 
 */                                                                                                                                                                     
private [spark] object TaskContextHelper {   

TaskContextImpl

实现类,基本上提供了一些metric和listen的钩子

Spark-Thrift和Spark-SQL是Spark框架中的两个组件,它们有以下区别: 1. Spark-SQL是Spark的一个模块,用于处理结构化数据,支持SQL查询和DataFrame API。它提供了一种高效且易于使用的方法来处理和分析结构化数据。用户可以使用SQL语句或DataFrame API来查询和操作数据。Spark-SQL允许用户直接在Spark应用程序中使用SQL查询,而无需编写复杂的MapReduce代码。 2. Spark-Thrift是Spark的一个独立服务,它提供了一个标准的Thrift接口,用于执行SQL查询。它可以作为一个独立的进程运行,并通过网络接收来自客户端的SQL查询请求,并将查询转发到Spark集群中的Spark-SQL模块进行处理。Spark-Thrift使得可以使用不同的编程语言,如Java、Python、R等,通过Thrift接口与Spark集群交互。 因此,Spark-SQL是Spark框架中用于处理结构化数据的模块,而Spark-Thrift是提供Thrift接口让用户可以使用不同编程语言与Spark-SQL模块交互的独立服务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CDH15.0支持spark-sql和spark-thrift-server](https://blog.youkuaiyun.com/u012458821/article/details/87635599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [122.Thrift和spark-sql客户端部署](https://blog.youkuaiyun.com/m0_47454596/article/details/126856172)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值