Я запускаю искровое задание с использованием пряжи, и мой код написан на Java, теперь я хочу выполнить функцию, чтобы некоторые ресурсы собирались у каждого работника по окончании работы.
Я пытался mapPartitions()
функция, но в одном и том же работнике выполняется много разделов, поэтому функция будет выполняться несколько раз.
Могу ли я реализовать это и как?
код обновлен:
JavaRDD<String> sourceRDD = context.textFile(inputPath);
sourceRDD.map(doSomething()); // every worker has it's env, I want to execute a function in every worker when map() ends.
doResourceCollect(); // It runs in the final worker, so I can't get worker's env.