You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Hyukjin Kwon (Jira)" <ji...@apache.org> on 2023/03/09 03:30:00 UTC
[jira] [Resolved] (SPARK-42703) How to use Fair Scheduler Pools
[ https://issues.apache.org/jira/browse/SPARK-42703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hyukjin Kwon resolved SPARK-42703.
----------------------------------
Resolution: Invalid
> How to use Fair Scheduler Pools
> -------------------------------
>
> Key: SPARK-42703
> URL: https://issues.apache.org/jira/browse/SPARK-42703
> Project: Spark
> Issue Type: Question
> Components: Scheduler
> Affects Versions: 3.2.3
> Reporter: LiJie2023
> Priority: Major
> Attachments: image-2023-03-08-09-53-35-867.png
>
>
> I have two questions to ask:
> # I wrote a demo referring to the official website, but it didn't meet my expectations. I don't know if there was a problem with my writing.I hope that when I use the following fairscheduler.xml, pool1 always performs tasks before pool2
> # What is the relationship between "spark.scheduler.mode" and "{{{}schedulingMode{}}}" in fairscheduler.xml?
>
>
> {code:java}
> object MultiJobTest {
> def main(args: Array[String]): Unit = {
> val conf = new SparkConf()
> conf.setAppName("test-pool").setMaster("local[1]")
> conf.set("spark.scheduler.mode", "FAIR")
> conf.set("spark.scheduler.allocation.file", "file:///D:/tmp/input/fairscheduler.xml")
> val sparkContext = new SparkContext(conf)
> val data: RDD[String] = sparkContext.textFile("file:///D:/tmp/input/input.txt")
> val rdd = data.flatMap(_.split(","))
> .map(x => (x(0), x(0)))
> new Thread(() => {
> sparkContext.setLocalProperty("spark.scheduler.pool", "pool1")
> rdd.foreachAsync(x => {
> println("1======start==" + new SimpleDateFormat("HH:mm:ss").format(new Date()))
> Thread.sleep(10000)
> println("1======end==" + new SimpleDateFormat("HH:mm:ss").format(new Date()))
> })
> }).start()
> new Thread(() => {
> sparkContext.setLocalProperty("spark.scheduler.pool", "pool2")
> rdd.foreachAsync(x => {
> println("2======start==" + new SimpleDateFormat("HH:mm:ss").format(new Date()))
> Thread.sleep(10000)
> println("2======end==" + new SimpleDateFormat("HH:mm:ss").format(new Date()))
> })
> }).start()
> TimeUnit.MINUTES.sleep(2)
> sparkContext.stop()
> }
> } {code}
>
> fairscheduler.xml
>
> {code:java}
> <?xml version="1.0"?><!--
> Licensed to the Apache Software Foundation (ASF) under one or more
> contributor license agreements. See the NOTICE file distributed with
> this work for additional information regarding copyright ownership.
> The ASF licenses this file to You under the Apache License, Version 2.0
> (the "License"); you may not use this file except in compliance with
> the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software
> distributed under the License is distributed on an "AS IS" BASIS,
> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> See the License for the specific language governing permissions and
> limitations under the License.
> --><allocations>
> <pool name="pool1">
> <schedulingMode>FAIR</schedulingMode>
> <weight>100</weight>
> <minShare>0</minShare>
> </pool>
> <pool name="pool2">
> <schedulingMode>FAIR</schedulingMode>
> <weight>1</weight>
> <minShare>0</minShare>
> </pool>
> </allocations> {code}
>
>
> input.txt
>
> {code:java}
> aa bb {code}
>
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org