Я новичок в MapReduce и MRjob, я пытаюсь прочитать CSV-файл, который я хочу обработать, используя MRjob в python.Но в нем около 5 столбцов со строками JSON (например, {}) или массивом строк JSON (например, [{}, {}]), некоторые из них являются вложенными.
Мой маппер до сих пор выглядитследующим образом:
from mrjob.job import MRJob
import csv
from io import StringIO
class MRWordCount(MRJob):
def mapper(self, _, line):
l = StringIO(line)
reader = csv.reader(l) # returns a generator.
for cols in reader:
columns = cols
yield None, columns
Я получаю ошибку -
_csv.Error: поле больше, чем предел поля (131072)
Но это кажетсяслучиться потому, что мой код разделяет строки JSON и на отдельные столбцы (из-за запятых внутри).
Как мне сделать это, чтобы строки JSON не разделялись?Может быть, я что-то пропускаю?
В качестве альтернативы, есть ли другие способы, с помощью которых я мог бы прочитать этот файл с помощью MRjob, которые сделали бы этот процесс проще или чище?