У меня есть искровое задание, которое читает входной файл в dataFrame, выполняет некоторые вычисления и генерирует два вывода обработано и отфильтровано .
Dataset<Row> input = sparkSession.read().parquet(inputPath);
Dataset<Row> processed = someFunction(input);
Dataset<Row> filtered = processed.filter(someCondition);
processed.write().parquet(outputPath1);
filtered.write().parquet(outputPath2);
I заметил, что во время выполнения кода someFunction () вызывается дважды (один раз во время записи обрабатывается, а другой раз во время записи фильтруется из-за ленивых вычислений в spark). Есть ли способ записать оба выхода (в общем, несколько выходов), используя один вызов someFunction ().