Как установить конфигурации для того чтобы сделать работу искры/пряжи более быстрой?

Я новичок в Spark. Я читал о Spark config и различных свойствах, чтобы установить, чтобы мы могли оптимизировать работу. Но я не уверен, как я выяснить, что я должен установить ?

Например, я создал кластер типа r3.8x большой (1Master и 10 рабов)

Как установить :

spark.executor.memory           
spark.driver.memory             
spark.sql.shuffle.partitions
spark.default.parallelism
spark.driver.cores              
spark.executor.cores             
spark.memory.fraction            
spark.executor.instances

Или я должен просто оставить значение по умолчанию ? но оставление default делает мою работу очень медленной. Моя работа имеет 3 группы bas и 3 транслируемых карты.

Спасибо

1 ответ

  1. Для настройки приложения вам нужно знать несколько вещей

    1) необходимо отслеживать, используется ли кластер или нет, сколько ресурсов используется приложением, которое вы создали

    Контроль можно сделать используя различные инструменты например. Ganglia от Ganglia вы можете найти процессор, память и использование сети.

    2) основываясь на наблюдениях об использовании процессора и памяти, вы можете получить лучшее представление о том, какая настройка необходима для вашего приложения

    Точка искры формы Вас

    В spark-по умолчанию.conf

    вы можете указать, какой тип сериализации требуется, сколько памяти драйвера и памяти исполнителя необходимо приложению, даже если вы можете изменить алгоритм сборки мусора.

    Ниже приведены несколько примеров вы можете настроить этот параметр на основе ваших требований

    spark.serializer                 org.apache.spark.serializer.KryoSerializer
    spark.driver.memory              5g
    spark.executor.memory            3g
    spark.executor.extraJavaOptions  -XX:MaxPermSize=2G -XX:+UseG1GC
    spark.driver.extraJavaOptions    -XX:MaxPermSize=6G -XX:+UseG1GC
    

    Подробнее см. http://spark.apache.org/docs/latest/tuning.html

    Надеюсь, это поможет!!