Коллеги спарководоведы, нужен ваш совет:
Пытаюсь запустить параллельно чтение, трансформации и запись из 10 источников в рамках одной спарк сессии. Т.е. на драйвере подготавливаю мапу, где ключ это дата, а значение - это лист с путями а s3. Далее из мапы беру энтрисет из него делаю параллельный стрим. В этом стриме для каждой энтри я запускаю чтение из источника, трансформации и запись в приёмник.
Я ожидал, что в спарк ui я увижу 10 активных джобов, но на деле я вижу тоько 5. Т.е. Одновременно тоько 5 источников. На каждый источник по 20 оьраьотчиков. обрабатываются. Почему так? Есть ли какое - то ограничение на количество одновременно активных джобов?
Spark 2.4.3 emr 5.25.
На yarn Cluster.
Пишу на Java(но это вообще не должно влиять).
Ещё один вопросик - почему ярн может не выдавать доп ядра драйверу? Я выставлю --driver-core 4. В спарк ui, во вкладке Environment я вижу, что он подтянул этот конфиг, но в yarn resource Manager я вижу, что количество контейнеров равно количеству ядер, значит и у драйвера и экзекьютеров по 1 му ядра.
P.s. Сорян за опечатки, пишу с телефона, пальцы жирные.