S>Я вам задал конкретный вопрос: сколько памяти потребляет ваше решение? Загружает ли оно все данные целиком в память или нет?
а ты можешь объяснить на кой ты отнимаешь у меня время, вместо того что бы пойти и прочесть вводную в спарк на один из миллионов ресурсов ? лично я тебе объяснил на пальцах даже откуда магия, не жди от меня пережевывание базовой инфы о спарке, которая доступна и без меня.
S>Ты просто взял загрузил все данные в память, взял 10 Гб., памяти в системе у тебя 32. И с радостью отрапортовал что вы тут все дурью маетесь — вы все немудрые, потому что нужно использовать готовые решения, а не велосипедить. Звучит заманчиво. Однако же задача не решена — суть задачи в том, чтобы отработать не загружая данные в память целиком.
хорошо, я потратил еще 10 минут и собрал отдельный проект, собрал uber jar и запустил как полагается через spark-submit:
spark-submit2.cmd --class org.example.Main --master local[8] --driver-memory 2g srt-uber-1.0-SNAPSHOT.jar
25G файл отсортировал спарк процесс который в пике отожрал 2.3G
вот весь код проекта
package org.example;
import org.apache.spark.sql.SparkSession;
public class Main {
public static void main(String[] args) {
SparkSession spark = SparkSession
.builder()
.appName("delta")
.master("local[*]")
.getOrCreate();
spark.read()
.option("delimiter", ".")
.csv("D:/TEST")
.orderBy("_c1", "_c0")
.repartition(1)
.write()
.option("delimiter", ".")
.csv("D:/TEST_COMBINED");
}
}