Проблема конфигурации Spark для Databricks - PullRequest
0 голосов
/ 15 апреля 2020

Привет, я использую соединение блоков данных, чтобы подключиться к кластеру блоков данных. Я в основном запускаю свою программу локально со своего ноутбука, и она выполняется в кластере блоков данных. Моя проблема здесь в том, что я заметил, что он не отменяет конфигурацию (по крайней мере, правильно), которую я предоставляю в сеансе 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 МБ

Любая помощь будет полезна

...