Я хочу запустить алгоритм машинного обучения в качестве своего кода для исследования конечных игр, который, таким образом, далеко не доказан и не опубликован для целей анализа текста. Текст уже получен, но был извлечен из формата warc, полученного из Common Crawl. Я нахожусь в процессе подготовки данных для целей машинного обучения, и одной из задач анализа, которая является желательной, является IDF-анализ частоты инверсных документов корпуса перед запуском в собственное приложение ML.
Насколько я понимаю, для работы IDF каждый файл должен представлять одного докладчика или одну идею - как правило, короткий абзац текста ascii, не намного длиннее, чем твит. Проблема в том, что я очистил около 15 миллионов файлов. Я использую Strawberry Perl в Windows 7 для чтения каждого файла и разбиения по тегу, содержащемуся в документе, так что каждый комментарий из рассматриваемых социальных сетей попадает в элемент массива (и на более строго типизированном языке будет типа строка).
Отсюда возникают проблемы с производительностью. Я позволил своему сценарию работать весь день, и он прошел через 400 000 входных файлов за 24 часа. Из этих входных файлов создается около 2 миллионов выходных файлов, представляющих по одному файлу на спикер HTML-разорванного текста с помощью модуля Perl HTML :: Strip. Когда я смотрю на свою систему, я вижу, что использование диска на моем локальном диске с данными очень велико - существует огромное количество текстовых записей ASCII, намного меньше, чем 1 КБ, каждая из которых встраивается в сектор размером 1 КБ моего локального диска. HDFS в формате NTFS.
Стоит ли пытаться остановить выполнение, настроить базу данных MySQL на моей домашней системе, настроить текстовое поле в базе данных длиной не более 500-1000 символов, а затем повторно запустить сценарий perl так, чтобы он выскальзывает входной html-файл, разбивает его, HTML-разметывает, затем готовит и выполняет вставку строки в таблицу базы данных?
В целом - переключение с формата вывода файла, который представляет собой огромное количество отдельных текстовых файлов, на формат, который представляет собой огромное количество вставок в базу данных, будет проще на моем жестком диске / быстрее записать в долгосрочной перспективе из-за какая-то магия кэширования или использования ОЗУ / дискового пространства в СУБД?