Как я могу запустить 2x искрообразования в одно и то же время? У меня простая искра (без дополнительных конфигураций на моем компьютере) с выделенными 4 ядрами.Одновременное предоставление нескольких искровых приложений (динамическое распределение ресурсов)
Если я пытаюсь представить приложение, 2x раз, второй один получает «WARN TaskSchedulerImpl: Первоначальная работа не принял каких-либо ресурсов, проверить кластера пользовательский интерфейс для обеспечения того, чтобы работники зарегистрированы и иметь достаточные ресурсы»
Код: от будущего импорт print_function
import sys
from operator import add
from pyspark.sql import SparkSession
if __name__ == "__main__":
spark = SparkSession\
.builder\
.appName("test")\
.getOrCreate()
rdd = spark.sparkContext.parallelize(xrange(1000000000), 100)
print(rdd.sample(False, 0.1, 81).count())
spark.stop()
Как я пытаюсь запустить их: ./spark-submit --master искра: // myaddresshere: 7077 --name "app1" --conf искра. shuffle.service.enabled = true - -conf park.shuffle.service.enabled = true /path_to_py_file.py
Я знаю, что могу предварительно установить количество ядер для использования, но моя цель - динамически распределять ресурсы. Если работает только 1 задача => потребляет 100%, если они составляют 4 задания => 25% каждый.
Я пробовал несколько вариантов, но не повезло.
Подсказка будет оценена по достоинству.
Динамическое распределение Spark работает только на уровне исполнителей, что означает, что он будет выделять больше исполнителей при загрузке задач в очередь. Если дополнительные исполнители могут быть выделены, зависит от их настройки и доступных ресурсов. Также имейте в виду, что при работе на локальном уровне драйверам также понадобятся ядра. – LiMuBei