Я использую spark для чтения из таблицы postgres и вывода ее в облачное хранилище Google как json. Таблица довольно большая, много сотен ГБ. Код относительно прост (пожалуйста, смотрите ниже), но он не работает с OOM. Кажется, что спарк пытается прочитать всю таблицу в памяти, прежде чем начать писать. Это правда? Как я могу изменить поведение так, чтобы оно читало и записывало в потоковом режиме?
Спасибо.
SparkSession sparkSession = SparkSession
.builder()
.appName("01-Getting-Started")
.getOrCreate();
Dataset<Row> dataset = sparkSession.read().jdbc("jdbc:postgresql://<ip>:<port>/<db>", "<table>", properties);
dataset.write().mode(SaveMode.Append).json("gs://some/path");