Re[2]: Как бы вы делали эту задачу (переходим к конкретике).
От: Gt_  
Дата: 31.08.22 11:18
Оценка: 20 (2)
Здравствуйте, Gt_, Вы писали:

Gt_>Я бы для начала попробовал spark, он даже локально распараллелит чтение


протестил spark+java на 12700k и стареньком sata ssd, 10G файлик.
@SpringBootTest
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class BigFile {

    @Test
    void bigfile0() throws IOException {
        SparkSession spark = SparkSession
                .builder()
                .appName("delta")
                .master("local[*]")
                .getOrCreate();

        spark.read()
                .option("delimiter", ".")
                .csv("D:/TEST")
                .sort("_c1", "_c0")
                .repartition(1)
                .write()
                .option("delimiter", ".")
                .csv("D:/TEST_COMBINED");


    }


тест прошел 2m14s, убрал repartition(1), попробовал руками конкатинировать 200 файлов что спарк по дефолту выплевывает — вышло дольше 2m31s

на HDD с repartition(1) 9 минут писал.
Отредактировано 31.08.2022 14:06 Gt_ . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.