Привет, я использую соединение блоков данных, чтобы подключиться к кластеру блоков данных. Я в основном запускаю свою программу локально со своего ноутбука, и она выполняется в кластере блоков данных. Моя проблема здесь в том, что я заметил, что он не отменяет конфигурацию (по крайней мере, правильно), которую я предоставляю в сеансе spark.
Мои конфигурации следующие:
@transient private val conf = new SparkConf()
.set("spark.kryoserializer.buffer", "500")
.set("spark.kryoserializer.buffer.max", "1000")
.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
.set("spark.driver.cores", "24")
.set("spark.driver.memory", "4092m")
.set("spark.executor.cores", "24")
.set("spark.executor.memory", "4092m")
.set("spark.dynamicAllocation.enabled", "true")
.set("spark.dynamicAllocation.minExecutors", "3")
.set("spark.dynamicAllocation.maxExecutors", "3")
.set("spark.dynamicAllocation.initialExecutors", "3")
.set("spark.sql.shuffle.partitions", "12")
// .set("spark.default.parallelism", "12")
.set("spark.driver.extraJavaOptions","-Xms4g")
// enable FAIR scheduler
.set("spark.scheduler.mode", "FAIR")
.set("spark.scheduler.pool", "pool1")
.set("spark.scheduler.listenerbus.eventqueue.capacity", "20000")
.set("spark.scheduler.allocation.file", "conf/scheduler.xml")
// disable databricks inspection for jars
.set("spark.databricks.service.client.checkDeps", "false")
.set("spark.databricks.service.server.enabled", "true")
.set("spark.submit.deployMode", "client")
Странное поведение это:
even though i see in the logs that the scheduler pools are created correctly from what i see in the logs:
20/04/15 06:18:46 INFO FairSchedulableBuilder: Creating Fair Scheduler pools from conf/scheduler.xml
20/04/15 06:18:46 INFO FairSchedulableBuilder: Created pool: default, schedulingMode: FAIR, minShare: 1, weight: 1
20/04/15 06:18:46 INFO FairSchedulableBuilder: Created pool: pool1, schedulingMode: FAIR, minShare: 1, weight: 1
20/04/15 06:18:46 INFO FairSchedulableBuilder: Created pool: pool2, schedulingMode: FAIR, minShare: 4, weight: 2
20/04/15 06:18:46 INFO FairSchedulableBuilder: Created pool: pool3, schedulingMode: FAIR, minShare: 2, weight: 3
в пользовательском интерфейсе. Я вижу, что задания передаются в пул с именем `pool-wiith scheduling mode FIFO.
Также, если я меняю номер executors.cores или память, которую вижу к разнице, и журналы всегда указывают 1 ГБ ОЗУ 20/04/15 06:18:40 INFO MemoryStore: MemoryStore запущен с емкостью 912,3 МБ
Любая помощь будет полезна