Я пытаюсь использовать spark для обработки некоторых идентификаторов и хочу выполнить дедупликацию для каждой партии
если мой код похож на
HashSet<String> uniqueID = new HashSet<>();
foreachPartition((VoidFunction<Iterator<T>>) idIterator -> {
...
//add unique id
if (!uniqueID.contains(id)){
uniqueID.add(id)
}
});
в этом случае, так как foreachpartition выполняется на рабочем узле, но я определяю свой хэш-набор вне foreachpartition, он все еще будет работать? Я знал, что сокращение по ключу будет лучше всего с этим справиться, и я изменяю его, но просто для анализа поведения существующего кода