Увеличьте эффективность скребка - PullRequest
0 голосов
/ 11 декабря 2018

Я создаю Java-приложение для очистки данных с определенного веб-сайта XXX и хочу сохранить нужный набор данных в моей базе данных MSSQL.Набор данных составляет около 100000+ строк в MSSQL.

Что я делаю, я очищаю данные, обрабатываю их в соответствии с моими требованиями, а затем сохраняю их в БД и в наборе ElasticSearch.Весь процесс занимает около 2 дней или более за один прогон.Я использую JSoup для анализа данных.

Что я хочу знать, так это то, как я могу повысить эффективность своего приложения, чтобы я мог очистить его и сохранить его за меньшее время.У меня есть службы исполнителя для параллельного выполнения моего процесса.

1 Ответ

0 голосов
/ 13 декабря 2018

Вместо того, чтобы вручную создавать такое приложение, вы можете положиться на распределенную технологию веб-сканирования, такую ​​как StormCrawler .Он даже способен индексировать страницы в экземпляр ElasticSearch.

Если вы хотите хранить дополнительную информацию, вы можете легко реализовать пользовательский Bolt для части MSSQL вашего процесса.Однако использование этой инфраструктуры требует настройки кластерной среды Apache Storm, что может занять некоторое время и вычислительные ресурсы.Это значительно ускорит процесс, который вы описали выше.

...