Re[10]: [Ref] Почему не смогли применить готовое решение для
От: Shmj Ниоткуда  
Дата: 28.09.22 14:42
Оценка:
Здравствуйте, Gt_, Вы писали:

Gt_>получивший такую задачу джун должен рассказать, что тут map-reduce нужен именно, что бы влезть в рамки по памяти, параллельность просто бонус. очень упрощенно: маппер читает строку и пишет ту же строку в отдельные файлики, в файлик1 строки начинающииеся на А, файлик2 строки начинающиеся на Б — теперь у тебя не один 10г файлик, а десятки, влезающие в память. осталось лишь отсортировать их содержимое и в нужном порядке слепить в конечный результат. это очень упрощенно, но в этом суть и магия инструмента.


Да? А где это у вас:

@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");


    }


Где вы тут распределяете по буквам и сохраняете в отдельный файл каждую букву? Где это решение?

Давайте рассмотрим практическое решение. Подобный алгоритм — разбиение на буквы — уже приводился участником форума.

Вы знаете как сконфигурировать spark для подобной задачи на практике?
Отредактировано 28.09.2022 14:44 Shmj . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.