Информация об изменениях

Сообщение Re[2]: Как бы вы делали эту задачу (переходим к конкретике). от 31.08.2022 11:18

Изменено 31.08.2022 14:06 Gt_

Re[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
попробовал 4 executors оставить (local[4]) — уже 3 минуты пыхтел, т.е. кол-во cpu играет роль.
на HDD с repartition(1) 9 минут писал.
Re[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 минут писал.