Мне нужно периодически обрабатывать большие партии предметов в Spark.
Элементы разделены ключом региона.
Для обработки элемента, искровый работник должен загрузить большую (много ГБ) базу данных в памяти. Каждый регион имеет отдельную базу данных. Таким образом, для обработки каждого элемента требуется ровно одна региональная база данных.
Все региональные базы данных не помещаются в память одного физического узла одновременно. Поэтому я хотел бы распространить эти региональные базы данных среди работников.
Они должны быть загружены только один раз при запуске работника.
Я думаю, чтобы это работало, я должен убедиться, что разделы всегда обрабатываются одними и теми же рабочими узлами.
Есть ли гарантии, что это так? Что мне нужно сделать, чтобы достичь этого?