У меня есть базовое понимание искры, и я пытаюсь найти что-то, что может помочь мне достичь следующего:
Пул объектов совместно используется всеми узлами, асинхронно.
То, о чем я сейчас думаю, это, скажем, десять узлов, пронумерованных от 1 до 10.
Если у меня есть один объект, мне придется сделать мой объект синхронным, чтобы он был доступен любому узлу,Я не хочу этого.Второй вариант, я могу иметь пул, скажем, 10 объектов.Я хочу написать свой код таким образом, чтобы узел № 1 всегда использовал объект № 1, узел № 2 всегда использовал объект № 2 и т. Д.
Пример такого подхода был бы довыполняя задачу, получите идентификатор потока и используйте номер объекта (threadID% 10).Это приведет к большому количеству коллизий и не будет работать.
Есть ли способ, которым я могу каким-то образом получить nodeID или processID и заставить мой код извлекать объект в соответствии с этим идентификатором?Или каким-то другим способом создать асинхронный пул объектов в моем кластере?
Я извиняюсь, если это звучит тривиально, я только начинаю и не могу найти много ресурсов, относящихся к моим сомнениям, в Интернете.
PS: я использую настройку SparkStreaming + Kafka + YARN, если это имеет значение.