Разбор огромных многострочных сжатых файлов с помощью sc.textFiles в Scala - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь проанализировать архивированный файл размером 20 ГБ в многострочном формате. Я пытаюсь разобрать каждое событие ровно в одну строку, для которой я разбиваю файл на регулярное выражение. Когда я использую следующий код:

val rdd = sc.wholeTextFiles(input, 100).flatMap {
x => x._2.split(REGEX)}.map {
x => x.replaceAll("""\n""", " ")}

это работает, но так как sc.wholeTextFiles получает весь файл размером 20 ГБ в одном месте, это вызывает проблемы с памятью.

Попытка заменить sc.wholeTextFile на sc.textFiles и имеет следующий код:

val rdd = sc.textFile(input, 100).flatMap {
x => x.split(REGEX)}.map {
x => x.replaceAll("""\n""", " ")}

Однако, это не дает мне аналогичный результат. Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...