史上最全的spark面试题

合集下载

spark试题及答案

spark试题及答案

spark试题及答案1. Spark是什么?A. 一种分布式计算系统B. 一种数据库系统C. 一种编程语言D. 一种操作系统答案:A2. Spark的核心组件包括哪些?A. Spark CoreB. Spark SQLC. Spark StreamingD. All of the above答案:D3. Spark的RDD全称是什么?A. Resilient Distributed DataB. Resilient Distributed DatabaseC. Resilient Distributed DiskD. Resilient Distributed Databases答案:A4. 在Spark中,哪些操作会导致RDD的宽依赖?A. mapB. filterC. reduceByKeyD. All of the above答案:C5. Spark支持哪些类型的数据存储?A. HDFSB. S3C. CassandraD. All of the above答案:D6. Spark Streaming是Spark的哪个组件?A. 批处理组件B. 流处理组件C. 机器学习组件D. 图处理组件答案:B7. Spark SQL提供了哪些功能?A. SQL查询B. DataFrame APIC. Dataset APID. All of the above答案:D8. Spark的弹性分布式数据集(RDD)具有哪些特性?A. 可分区B. 可容错C. 可并行D. All of the above答案:D9. Spark支持哪些类型的部署模式?A. 本地模式B. 集群模式C. 独立模式D. All of the above答案:D10. 在Spark中,如何将一个RDD转换为DataFrame?A. 使用map函数B. 使用toDF函数C. 使用flatMap函数D. 使用collect函数答案:B。

spark 面试题

spark  面试题

spark 面试题Spark 面试题Spark 是一个开源的大数据处理框架,具有高效、强大和易用的特点,因此在大数据领域中应用广泛。

本文将围绕 Spark 面试题展开讨论,介绍常见的 Spark 面试题以及它们的解答。

一、什么是 Spark?Spark 是一种用于大规模数据处理的快速通用计算系统,通过在内存中进行数据处理来加速计算速度。

与传统的 MapReduce 系统相比,Spark 具有更高的性能和更丰富的功能,可以在多个计算引擎上运行,如 Spark SQL、Spark Streaming、GraphX 和 MLlib 等。

二、Spark 的核心模块有哪些?Spark 核心模块包括:1. Spark Core:提供了 Spark 的基本功能,包括任务调度、内存管理、错误恢复等。

2. Spark SQL:用于处理结构化数据的模块,支持 SQL 查询、集成Hive、Parquet 等。

3. Spark Streaming:用于实时数据流处理的模块,支持数据源如Kafka、Flume 等。

4. GraphX:用于图数据处理的模块,提供了图计算和图算法的API。

5. MLlib:用于机器学习的模块,提供了常见的机器学习算法和工具。

三、什么是 RDD?RDD(Resilient Distributed Datasets)是 Spark 中核心的数据结构,它代表了可分区、可恢复的分布式数据集合。

RDD 具有以下特点:1. 分区:RDD 将数据集拆分成多个逻辑分区,在不同的计算节点上并行处理,提高计算效率。

2. 弹性:RDD 可以在节点失败时进行恢复,通过数据的来源和转换操作进行容错处理。

3. 不可变性:RDD 中的数据集是不可变的,只能通过转换操作生成新的 RDD。

4. 惰性计算:RDD 是通过一系列的转换操作构建的,只有在遇到行动操作时才会真正触发计算。

四、Spark 的运行模式有哪些?Spark 可以运行在多种不同的模式下,包括:1. 本地模式:在单个计算节点上运行 Spark 应用程序,用于本地开发和调试。

大数据人才面试题目及答案

大数据人才面试题目及答案

大数据人才面试题目及答案随着大数据技术的迅猛发展,对于大数据人才的需求也越来越高。

而在求职过程中,面试是一个非常重要的环节,通过面试不仅可以了解候选人的专业知识和能力,还能对其适应能力和解决问题的能力进行评估。

以下是一些常见的大数据人才面试题目及其答案,希望能为您准备面试提供帮助。

1. 介绍一下大数据的概念和特点。

大数据是指规模庞大、结构复杂、难以通过传统的数据处理方法获取、存储、管理和分析的数据集合。

其特点包括以下几个方面:- 体量大:大数据的数据量很大,以TB、PB、EB为单位。

- 多样性:大数据来源多样,包括结构化数据、半结构化数据和非结构化数据。

- 时效性:大数据的生成速度快,需要及时处理和分析。

- 价值密度低:大数据中包含了很多无效信息,需要通过技术手段进行提取和筛选。

2. 请介绍一下Hadoop和Spark,它们在大数据处理中的作用是什么?Hadoop是一个分布式的计算框架,主要用于存储和处理大规模数据集。

它的核心组件包括HDFS(分布式文件系统)和MapReduce(分布式计算)。

Hadoop借助分布式存储和计算的特点,可以快速处理大规模的数据,适用于批处理场景。

Spark是一个快速、通用的大数据处理引擎,它提供了内存计算的能力,能够加速数据处理的速度。

相比于Hadoop的MapReduce模型,Spark使用了更高效的计算模型,可以在内存中进行数据操作,大大提高了处理效率。

Spark还提供了丰富的API,支持多种编程语言,并且支持实时流式数据处理。

3. 请说明大数据处理中的数据清洗和数据融合的过程。

数据清洗是指对原始数据进行筛选、去噪、去重、填充缺失值等预处理操作,以确保数据的准确性和完整性。

数据清洗的过程包括以下几个步骤:- 数据筛选:根据需求选择需要处理的数据。

- 数据去噪:删除异常、错误的数据,保留有效数据。

- 数据去重:去除重复的数据记录。

- 缺失值填充:对存在缺失值的数据进行填充,以保证数据的完整性。

spark的面试题

spark的面试题

spark的面试题Spark是一种快速、通用的大数据处理引擎,广泛应用于大数据分析和机器学习等领域。

在Spark的面试过程中,面试官通常会考察应聘者对Spark的理解、使用经验以及相关技术的掌握程度。

本文将介绍一些常见的Spark面试题,并给出相应的回答。

1. 请简要介绍一下Spark的核心组件。

Spark的核心组件包括:- Spark Core:提供了Spark的基本功能,包括任务调度、内存管理、容错等。

- Spark SQL:提供了在Spark上进行结构化数据处理和关系型查询的API。

- Spark Streaming:用于实时流数据的处理和分析。

- MLlib:是Spark的机器学习库,提供了许多机器学习算法和工具。

- GraphX:用于图处理和分析的API。

2. 什么是RDD(Resilient Distributed Datasets)?RDD是Spark中的一个核心概念,它代表一个只读的分布式数据集合。

RDD具有以下特点:- 弹性容错:RDD可以在失败的情况下自动恢复。

- 数据分片:RDD将数据划分为多个分片,以便并行处理。

- 惰性计算:RDD进行转换操作时,并不立即执行,而是记录下转换的操作,只有在遇到行动操作时才会真正计算。

- 不可变性:RDD的数据是只读的,当对RDD进行转换时,会生成一个新的RDD,不会修改原有的数据。

3. Spark中的转换操作和行动操作有什么区别?在Spark中,转换操作用于对RDD进行转换,并返回一个新的RDD,但并不触发计算。

常见的转换操作包括map、filter、reduceByKey等。

而行动操作是对RDD进行实际计算并返回结果,触发了Spark的计算过程。

常见的行动操作包括count、collect、save等。

4. 请解释一下Spark的惰性计算。

Spark采用惰性计算的方式来优化计算过程。

当对RDD进行转换操作时,Spark只会记录下转换的操作,而不会立即执行计算。

Spark经典常见面试题

Spark经典常见面试题

问题1 ★★★var、val、def三个关键字之间的区别;伴生类与伴生对象;(1)问题分析:主要考察Scala中的基本概念,这些是应该熟练掌握的(2)核心问题回答var是变量声明关键字,类似于Java中的变量,变量值可以更改,但是变量类型不能更改val常量声明关键字def 关键字用于创建方法(注意方法和函数的区别)还有一个lazy val(惰性val)声明,意思是当需要计算时才使用,避免重复计算类和它的伴生对象同名且存在于同一个文件中,二者互为伴生;可以相互访问私有成员(字段和方法);问题2 ★★★case class 是什么,与case object的区别是什么(1)问题分析:主要考察样例类的理解,样例类在 Scala、Spark 的开发中使用的非常频繁,对其应该熟练掌握(2)核心问题回答样例类是scala中特殊的类。

当声明样例类时,如下事情会自动发生:构造器中每一个参数都成为val。

除非它被显示的声明为var(不建议这样做)提供apply方法。

不用new关键字就能够构造出相应的对象提供unapply方法。

让模式匹配可以工作将生成toString、equals、hashCode和copy方法。

除非你显示的给出这些方法的定义继承了Product和Serializable,即已实现序列化方法和可以应用Product的方法case class是多例的,后面要跟构造参数,case object是单例的此外,case class和其他类型完全一样,可以添加方法和字段,扩展它们;case class最大的用处是用于模式匹配。

(3)问题扩展模式匹配的相关问题问题3 ★★★Spark为什么快,Spark SQL 一定比 Hive 快吗(1)问题分析:常见问题,但是并不好答,因为只有对两个计算框架有一定程度的理解才能准确回答。

(2)核心问题回答通常大家只是说Spark是基于内存计算的,速度比MapReduce要快。

大数据方向_面试题目(3篇)

大数据方向_面试题目(3篇)

第1篇一、基础知识与理论1. 请简述大数据的概念及其与传统数据处理的区别。

2. 请解释什么是Hadoop,并简要说明其组成部分。

3. 请简述MapReduce的核心思想及其在Hadoop中的应用。

4. 请描述HDFS(Hadoop分布式文件系统)的工作原理及其优势。

5. 请说明YARN(Yet Another Resource Negotiator)的作用及其在Hadoop中的地位。

6. 请解释什么是Spark,以及它与传统的大数据处理技术相比有哪些优势。

7. 请描述Spark的架构及其核心组件。

8. 请说明什么是Hive,并简要介绍其作用。

9. 请解释什么是HBase,以及它在大数据中的应用场景。

10. 请说明什么是NoSQL,并列举几种常见的NoSQL数据库及其特点。

二、Hadoop生态系统1. 请介绍Hadoop生态系统中常用的数据处理工具,如Hive、Pig、Spark等。

2. 请说明Hadoop生态系统中常用的数据分析工具,如Elasticsearch、Kafka、Flume等。

3. 请解释Hadoop生态系统中数据存储解决方案,如HDFS、HBase、Cassandra等。

4. 请描述Hadoop生态系统中常用的数据仓库解决方案,如Apache Hudi、Delta Lake等。

5. 请说明Hadoop生态系统中常用的数据可视化工具,如Tableau、Power BI、D3.js等。

三、大数据技术1. 请简述大数据技术中的数据清洗、数据集成、数据存储、数据挖掘等基本概念。

2. 请介绍大数据技术中的数据挖掘算法,如聚类、分类、关联规则等。

3. 请说明大数据技术中的数据可视化方法及其在数据分析中的应用。

4. 请描述大数据技术中的实时数据处理技术,如流处理、事件驱动等。

5. 请介绍大数据技术中的机器学习算法及其在数据分析中的应用。

四、大数据应用案例1. 请列举大数据技术在金融、医疗、电商、物联网等领域的应用案例。

大数据spark经典面试题目与参考答案总结

大数据spark经典面试题目与参考答案总结

⼤数据spark经典⾯试题⽬与参考答案总结⼀、简答题1.Spark master使⽤zookeeper进⾏HA的,有哪些元数据保存在Zookeeper?答:spark通过这个参数spark.deploy.zookeeper.dir指定master元数据在zookeeper中保存的位置,包括Worker,Driver和Application以及Executors。

standby节点要从zk中,获得元数据信息,恢复集群运⾏状态,才能对外继续提供服务,作业提交资源申请等,在恢复前是不能接受请求的。

另外,Master切换需要注意2点1)在Master切换的过程中,所有的已经在运⾏的程序皆正常运⾏!因为Spark Application在运⾏前就已经通过Cluster Manager获得了计算资源,所以在运⾏时Job本⾝的调度和处理和Master是没有任何关系的!2)在Master的切换过程中唯⼀的影响是不能提交新的Job:⼀⽅⾯不能够提交新的应⽤程序给集群,因为只有Active Master 才能接受新的程序的提交请求;另外⼀⽅⾯,已经运⾏的程序中也不能够因为Action操作触发新的Job的提交请求;2.Spark master HA 主从切换过程不会影响集群已有的作业运⾏,为什么?答:因为程序在运⾏之前,已经申请过资源了,driver和Executors通讯,不需要和master进⾏通讯的。

3.Spark on Mesos中,什么是的粗粒度分配,什么是细粒度分配,各⾃的优点和缺点是什么?答:1)粗粒度:启动时就分配好资源,程序启动,后续具体使⽤就使⽤分配好的资源,不需要再分配资源;好处:作业特别多时,资源复⽤率⾼,适合粗粒度;不好:容易资源浪费,假如⼀个job有1000个task,完成了999个,还有⼀个没完成,那么使⽤粗粒度,999个资源就会闲置在那⾥,资源浪费。

2)细粒度分配:⽤资源的时候分配,⽤完了就⽴即回收资源,启动会⿇烦⼀点,启动⼀次分配⼀次,会⽐较⿇烦。

spark常见面试题

spark常见面试题

spark常见面试题Spark是一种快速、分布式计算引擎,被广泛应用于大数据处理和分析中。

在Spark的生态系统中,有许多常见的面试题目,用于评估候选人对Spark的理解和应用能力。

本文将介绍一些常见的Spark面试题,并提供相应的回答。

1. 什么是Spark?它与Hadoop有什么区别?Spark是一种快速、通用、分布式计算系统,可以处理大规模数据和执行复杂的数据处理任务。

与Hadoop相比,Spark的优势在于其内存计算模型,可大大提高计算速度。

此外,Spark提供了丰富的API,支持多种编程语言,并提供了图计算、流式处理和机器学习等扩展库。

2. Spark的核心组件是什么?Spark的核心组件包括Spark Core、Spark SQL、Spark Streaming、Spark MLlib和Spark GraphX。

Spark Core是Spark的基础,提供了任务调度、内存管理和存储系统等功能。

Spark SQL用于处理结构化数据,并提供了SQL查询的功能。

Spark Streaming支持实时数据处理。

Spark MLlib提供了机器学习算法的库。

Spark GraphX用于图计算任务。

3. 什么是RDD?如何创建一个RDD?RDD(弹性分布式数据集)是Spark中的基本数据抽象,是一个可并行操作的不可变分布式集合。

可以通过两种方式创建RDD:并行化已有集合(如列表或数组)或从外部存储系统(如HDFS、HBase)中读取数据。

4. RDD和DataFrame的区别是什么?RDD和DataFrame都是Spark中的数据抽象。

RDD是Spark最早引入的数据结构,它是一个不可变的分布式集合,需要手动指定数据的schema。

而DataFrame是结构化数据的概念,具有自动推断schema 的功能,并且可以基于SQL进行查询和操作。

5. Spark的作业调度器是什么?它的作用是什么?Spark的作业调度器是Spark Cluster Manager,其中包括Standalone、YARN和Mesos等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

史上最全的spark面试题——持续更新中 - 为了九亿少女的期待 - CSDN博客1.spark中的RDD是什么,有哪些特性?答:RDD(Resilient Distributed Dataset)叫做分布式数据集,是spark中最基本的数据抽象,它代表一个不可变,可分区,里面的元素可以并行计算的集合Dataset:就是一个集合,用于存放数据的Destributed:分布式,可以并行在集群计算Resilient:表示弹性的,弹性表示1.RDD中的数据可以存储在内存或者磁盘中;2.RDD中的分区是可以改变的;五大特性:1.A list of partitions:一个分区列表,RDD中的数据都存储在一个分区列表中2.A function for computing each split:作用在每一个分区中的函数3.A list of dependencies on other RDDs:一个RDD依赖于其他多个RDD,这个点很重要,RDD的容错机制就是依据这个特性而来的4.Optionally,a Partitioner for key-value RDDs(eg:to say that the RDD is hash-partitioned):可选的,针对于kv类型的RDD才有这个特性,作用是决定了数据的来源以及数据处理后的去向5.可选项,数据本地性,数据位置最优2.概述一下spark中的常用算子区别(map,mapPartitions,foreach,foreachPatition)答:map:用于遍历RDD,将函数应用于每一个元素,返回新的RDD(transformation算子)foreach:用于遍历RDD,将函数应用于每一个元素,无返回值(action算子)mapPatitions:用于遍历操作RDD中的每一个分区,返回生成一个新的RDD(transformation算子)foreachPatition:用于遍历操作RDD中的每一个分区,无返回值(action算子)总结:一般使用mapPatitions和foreachPatition算子比map和foreach更加高效,推荐使用3.谈谈spark中的宽窄依赖:答:RDD和它的父RDD的关系有两种类型:窄依赖和宽依赖宽依赖:指的是多个子RDD的Partition会依赖同一个父RDD的Partition,关系是一对多,父RDD的一个分区的数据去到子RDD的不同分区里面,会有shuffle的产生窄依赖:指的是每一个父RDD的Partition最多被子RDD的一个partition使用,是一对一的,也就是父RDD的一个分区去到了子RDD的一个分区中,这个过程没有shuffle产生区分的标准就是看父RDD的一个分区的数据的流向,要是流向一个partition的话就是窄依赖,否则就是宽依赖,如图所示:4.spark中如何划分stage:答:概念:Spark任务会根据RDD之间的依赖关系,形成一个DAG有向无环图,DAG 会提交给DAGScheduler,DAGScheduler会把DAG划分相互依赖的多个stage,划分依据就是宽窄依赖,遇到宽依赖就划分stage,每个stage包含一个或多个task,然后将这些task以taskSet的形式提交给TaskScheduler运行,stage是由一组并行的task组成1.spark程序中可以因为不同的action触发众多的job,一个程序中可以有很多的job,每一个job是由一个或者多个stage构成的,后面的stage依赖于前面的stage,也就是说只有前面依赖的stage计算完毕后,后面的stage才会运行;2.stage 的划分标准就是宽依赖:何时产生宽依赖就会产生一个新的stage,例如reduceByKey,groupByKey,join的算子,会导致宽依赖的产生;3.切割规则:从后往前,遇到宽依赖就切割stage;4.图解:5.计算格式:pipeline管道计算模式,piepeline只是一种计算思想,一种模式6.spark的pipeline管道计算模式相当于执行了一个高阶函数,也就是说来一条数据然后计算一条数据,会把所有的逻辑走完,然后落地,而MapReduce是1+1=2,2+1=3这样的计算模式,也就是计算完落地,然后再计算,然后再落地到磁盘或者内存,最后数据是落在计算节点上,按reduce的hash分区落地。

管道计算模式完全基于内存计算,所以比MapReduce快的原因。

7.管道中的RDD何时落地:shuffle write的时候,对RDD进行持久化的时候。

8.stage的task的并行度是由stage的最后一个RDD的分区数来决定的,一般来说,一个partition对应一个task,但最后reduce的时候可以手动改变reduce的个数,也就是改变最后一个RDD的分区数,也就改变了并行度。

例如:reduceByKey(_+_,3)9.优化:提高stage的并行度:reduceByKey(_+_,patition的个数) ,join(_+_,patition 的个数)4.DAGScheduler分析:答:概述:是一个面向stage 的调度器;主要入参有:dagScheduler.runJob(rdd, cleanedFunc, partitions, callSite, allowLocal,resultHandler, localProperties.get)rdd: final RDD;cleanedFunc:计算每个分区的函数;resultHander:结果侦听器;主要功能:1.接受用户提交的job;2.将job根据类型划分为不同的stage,记录那些RDD,stage被物化,并在每一个stage 内产生一系列的task,并封装成taskset;3.决定每个task的最佳位置,任务在数据所在节点上运行,并结合当前的缓存情况,将taskSet提交给TaskScheduler;4.重新提交shuffle输出丢失的stage给taskScheduler;注:一个stage内部的错误不是由shuffle输出丢失造成的,DAGScheduler是不管的,由TaskScheduler负责尝试重新提交task执行。

5.Job的生成:答:一旦driver程序中出现action,就会生成一个job,比如count等,向DAGScheduler提交job,如果driver程序后面还有action,那么其他action也会对应生成相应的job,所以,driver端有多少action就会提交多少job,这可能就是为什么spark将driver程序称为application而不是job 的原因。

每一个job可能会包含一个或者多个stage,最后一个stage生成result,在提交job 的过程中,DAGScheduler会首先从后往前划分stage,划分的标准就是宽依赖,一旦遇到宽依赖就划分,然后先提交没有父阶段的stage们,并在提交过程中,计算该stage的task数目以及类型,并提交具体的task,在这些无父阶段的stage提交完之后,依赖该stage 的stage才会提交。

6.有向无环图:答:DAG,有向无环图,简单的来说,就是一个由顶点和有方向性的边构成的图中,从任意一个顶点出发,没有任意一条路径会将其带回到出发点的顶点位置,为每个spark job计算具有依赖关系的多个stage任务阶段,通常根据shuffle来划分stage,如reduceByKey,groupByKey等涉及到shuffle的transformation就会产生新的stage ,然后将每个stage划分为具体的一组任务,以TaskSets的形式提交给底层的任务调度模块来执行,其中不同stage之前的RDD为宽依赖关系,TaskScheduler任务调度模块负责具体启动任务,监控和汇报任务运行情况。

7.RDD是什么以及它的分类:8.RDD的操作9.RDD缓存:Spark可以使用 persist 和 cache 方法将任意 RDD 缓存到内存、磁盘文件系统中。

缓存是容错的,如果一个 RDD 分片丢失,可以通过构建它的 transformation自动重构。

被缓存的 RDD 被使用的时,存取速度会被大大加速。

一般的executor内存60%做cache,剩下的40%做task。

Spark中,RDD类可以使用cache() 和 persist() 方法来缓存。

cache()是persist()的特例,将该RDD缓存到内存中。

而persist可以指定一个StorageLevel。

StorageLevel的列表可以在StorageLevel 伴生单例对象中找到。

Spark的不同StorageLevel ,目的满足内存使用和CPU效率权衡上的不同需求。

我们建议通过以下的步骤来进行选择:·如果你的RDDs可以很好的与默认的存储级别(MEMORY_ONLY)契合,就不需要做任何修改了。

这已经是CPU使用效率最高的选项,它使得RDDs的操作尽可能的快。

·如果不行,试着使用MEMORY_ONLY_SER并且选择一个快速序列化的库使得对象在有比较高的空间使用率的情况下,依然可以较快被访问。

·尽可能不要存储到硬盘上,除非计算数据集的函数,计算量特别大,或者它们过滤了大量的数据。

否则,重新计算一个分区的速度,和与从硬盘中读取基本差不多快。

·如果你想有快速故障恢复能力,使用复制存储级别(例如:用Spark来响应web应用的请求)。

所有的存储级别都有通过重新计算丢失数据恢复错误的容错机制,但是复制存储级别可以让你在RDD上持续的运行任务,而不需要等待丢失的分区被重新计算。

·如果你想要定义你自己的存储级别(比如复制因子为3而不是2),可以使用StorageLevel 单例对象的apply()方法。

在不会使用cached RDD的时候,及时使用unpersist方法来释放它。

10.RDD共享变量:在应用开发中,一个函数被传递给Spark操作(例如map和reduce),在一个远程集群上运行,它实际上操作的是这个函数用到的所有变量的独立拷贝。

这些变量会被拷贝到每一台机器。

通常看来,在任务之间中,读写共享变量显然不够高效。

然而,Spark 还是为两种常见的使用模式,提供了两种有限的共享变量:广播变量和累加器。

(1). 广播变量(Broadcast Variables)– 广播变量缓存到各个节点的内存中,而不是每个 Task2.快读排序:20.spark master在使用zookeeper进行HA时,有哪些元数据保存在zookeeper?答:spark通过这个参数spark.deploy.zookeeper.dir指定master元数据在zookeeper中保存的位置,包括worker,master,application,executors.standby节点要从zk中获得元数据信息,恢复集群运行状态,才能对外继续提供服务,作业提交资源申请等,在恢复前是不能接受请求的,另外,master切换需要注意两点:1.在master切换的过程中,所有的已经在运行的程序皆正常运行,因为spark application在运行前就已经通过cluster manager获得了计算资源,所以在运行时job本身的调度和处理master是没有任何关系的;2.在master的切换过程中唯一的影响是不能提交新的job,一方面不能提交新的应用程序给集群,因为只有Active master才能接受新的程序的提交请求,另外一方面,已经运行的程序也不能action操作触发新的job提交请求。

相关文档
最新文档