Мне нужны хорошие ссылки для использования Hadoop для систем реального времени, таких как поиск с небольшим временем отклика. Я знаю, что у hadoop есть накладные расходы на hdfs, но что лучший способ сделать это с hadoop.приближается к реальному времени с hadoop
ответ
Hadoop - это совершенно неправильный инструмент для такого рода требований. Он явно оптимизирован для больших пакетных заданий, которые работают в течение нескольких минут до нескольких часов или даже дней.
FWIW, HDFS не имеет ничего общего с накладными расходами. Это тот факт, что задания Hadoop развертывают файл jar на каждом узле, настраивают рабочую область, запускают каждое задание, передают информацию через файлы между этапами вычисления, сообщают о прогрессе и статусе с бегуном задания и т. Д. И т. Д.
Вам нужно предоставить гораздо больше информации о целях и задачах вашей системы, чтобы получить хороший совет. Возможно, Hadoop не то, что вам нужно, и вам просто нужны некоторые распределенные системы foo? (О, и вы абсолютно уверены, что вам нужна распределенная система? Очень много вы можете сделать с реплицированной базой данных поверх нескольких машин с большой памятью).
Не зная о вашей проблеме, я дам вам несколько попыток ответа на вопрос.
- Посмотрите на HBase, который предоставляет структурированное надежное хранилище данных поверх HDFS, аналогичное Google BigTable. http://hadoop.apache.org/hbase/
- Возможно, вам просто нужна помощь в управлении репликацией и очерчиванием данных. Проверьте Gizzard, промежуточное программное обеспечение, чтобы сделать именно это: http://github.com/twitter/gizzard
- Обработка всегда может быть выполнена заранее. Если это означает, что вы материализуете слишком много данных, возможно, что-то вроде Lucandra может помочь - Lucene работает поверх Cassandra в качестве бэкэнда? http://github.com/tjake/Lucandra
Если вы действительно нужно сделать серьезную обработку во время запроса, способ сделать это, чтобы запустить выделенные процессы, которые делают конкретные виды вычислений вам нужно, и использовать что-то вроде Бережливость для отправки запросов для вычисления и получать результаты назад. Оптимизируйте их, чтобы иметь все необходимые данные в памяти. Процесс, который сам получает запрос, может сделать не что иное, как разбить проблему на части, отправить части для вычисления узлов и собрать результаты. Это звучит как Hadoop, но не потому, что он сделан для вычисления конкретных проблем с предварительно загруженными данными, а не с общей вычислительной моделью для произвольных вычислений.
круто! для меня это список хороших и новых указателей. Я посмотрю на них. – Akhil
Этот вопрос старый, но он просит ответа. Даже если есть миллионы документов, но не изменяются в режиме реального времени, например, в часто задаваемых вопросах, Lucene + SOLR для распространения в достаточной степени удовлетворяет потребность. Hathi Trust индексирует миллиарды документов, используя ту же комбинацию.
Это совершенно другая проблема, если индекс меняется в реальном времени. Даже у Lucene будут проблемы с обновлением индекса, и вам придется искать поисковые системы в режиме реального времени. Некоторые попытки переделать Lucene в реальном времени и, возможно, должны работать. Вы также можете посмотреть поисковую систему HSearch, основанную на Hadoop и HBase в режиме реального времени, размещенную на http://bizosyshsearch.sourceforge.net
- 1. , показывающий, как числовое решение приближается к реальному selution
- 2. Доступ к реальному времени на компьютере
- 3. Преобразование «NS.time» из списка свойств к реальному времени
- 4. запрашивающий доступ к реальному времени API бета не владелец проекта
- 5. Скрытое Преобразовать BigInt метку времени к реальному Дата
- 6. Доступ к реальному состоянию извне
- 7. Silverlight 4.0 приближается к WPF?
- 8. Переход к реальному источнику с помощью Resharper
- 9. Невозможно подключиться к реальному www.google.com
- 10. Подсказка не приближается к основанию
- 11. Карта не приближается к координатам
- 12. Может ли сигналы реального времени POSIX приводить к мягкому реальному времени?
- 13. iphone <-> подключение к реальному миру
- 14. CocoaAsyncTask не может подключиться к реальному устройству
- 15. 5.5K к реальному номеру в Excel
- 16. Подключения к реальному датастору от местного
- 17. Доступ к реальному базовому типу геттера?
- 18. Подвижность UIScrollView приближается к центру при увеличении
- 19. Плавно сделать число приближается к нулю
- 20. Linq, как приведение к реальному объекту
- 21. Применить сопряжение к реальному массиву (Fortran)
- 22. Доступ к реальному члену профсоюза по адресу
- 23. приближается к вкладке страницы в профиле?
- 24. Подменю скрывается, когда мышь приближается к нему
- 25. SharePoint - приближается к пределу хранения веб-сайта
- 26. Приближается this.form от innerHTML
- 27. Определение того, что набор данных приближается к синусоидальной волне
- 28. Hadoop свинья присоединиться диапазон времени
- 29. Подход веб-экземпляров приближается
- 30. Apache: перенаправить файлы с каноническим путем к реальному каталогу?
hmmm! то какова альтернатива для поиска в режиме реального времени, когда требуется большая обработка данных для запроса. – Akhil
Используйте поисковую систему, такую как Lucene. –
хотя мой код использует lucene в backend, но мои данные очень большие, и я делаю много операций с документами в lucene, когда запрос приходит, эта обработка не может быть выполнена заранее. Таким образом, эта обработка должна выполняться распределенным способом. – Akhil