Въведение в алтернативите на Hadoop

Apache Hadoop е чудовищна рамка, която използва няколко други компонента като HDFS, Hive, Spark, YARN и Zookeeper. Използва се за обработка и анализ на данни, получени от вътрешни или външни източници. Той може да мащабира от няколко машини или сървъри до хиляди от тях. Има много вградени библиотечни функции, които могат да открият и да се справят с неизправности.

Компоненти на Hadoop

1) Разпределена файлова система на Hadoop (HDFS):

Това е резервоарът за съхранение на данни в Hadoop. Той работи на принципа на разпределените данни, при който огромни набори от данни се разбиват на малки части и се съхраняват на множество машини в клъстер.

2) MapReduce:

Това е модел на програмиране за извършване на анализи паралелно на данните, които се намират в различни възли на клъстер.

3) Кошера:

Рамка с отворен код, която се използва за запитване на структурираните данни, използвайки език Hive-Query. Функцията за индексиране се използва за ускоряване на процеса на запитване.

4) Ambari:

Платформа за наблюдение на здравето на клъстера и автоматизиране на операциите. Той има прост уеб интерфейс и може лесно да бъде инсталиран и конфигуриран.

Списък с алтернативи на Hadoop

По-долу са различни Hadoop алтернативи, които са както следва:

Партидна обработка

Тук обработката се извършва само върху архивните данни. Например финансовите одити и преброяването са анализ, направен върху стари данни, за да се осигури по-добра прогноза за бъдещи резултати. Тези данни могат да съдържат милиарди редове и колони. Партидната обработка е най-подходяща за големи обработки на данни, без да е необходим анализ в реално време.

Обработка в реално време

Известен е още като Stream-Processing. Тук данните се обработват от време на време, тъй като се генерират, за да се осигури бърз поглед върху вероятните резултати. Откриването на земетресения и фондовите пазари са най-добрите примери, при които анализът в реално време е задължителен.

Apache Spark

Spark е рамка, използвана заедно с Hadoop за обработка на партидни или реални данни на клъстерирани машини. Може да се използва и като самостоятелен, извличане и съхраняване на данни в трети сървъри, без да се използва HDFS. Това е продукт с отворен код. Той предоставя API, които се пишат с помощта на SCALA, R или Python, които поддържат обща обработка. За обработка на структурирани данни може да се използва Spark-SQL. Spark Streaming извършва много необходимата анализа в реално време. Spark осигурява поддръжка за машинно обучение с помощта на MLIB. В крайна сметка обработените данни могат да бъдат прегледани с помощта на Graphix.

Най-забележителната функция на Spark е обработката в паметта. Цялата обработка на данните се извършва в паметта, а не в диска. Този метод спестява времето за четене и запис на входа на диска и изхода обратно от него. Искрата е светкавична и е почти 100 пъти по-бърза от обработката на Hadoop. Цялата функция е дефинирана и представена в контекста на Spark. Едва тогава обработката започва от нулата. Този метод е известен като Мързеливо изпълнение. Kafka, Flume се използват като входни данни за поточно предаване на данни. Spark могат да използват структурирани или неструктурирани данни за анализ. Потоците от данни са куп данни за определен интервал от време в Spark Streaming. Те се преобразуват в партиди и се предават на Spark Engine за обработка. Структурираните данни се преобразуват в рамки от данни, преди да се използва Spark-SQL за по-нататъшен анализ.

Apache Storm

Apache Storm също е една от алтернативите на Hadoop, която е най-подходяща за разпространен анализ в реално време. Той е лесен за настройване, лесен за употреба и не осигурява загуба на данни. Бурята има много висока мощност на обработка и осигурява ниска латентност (обикновено за секунди) в сравнение с Hadoop.

Ще разгледаме по-отблизо работния процес на Storm:

  • Топологията на бурята (подобна на DAG, но план за физическо изпълнение) се представя на Nimbus (Главен възел).
  • Задачите и редът, в който то трябва да се извърши, се представят в Nimbus.
  • Nimbus равномерно разпределя наличните задачи на надзорниците (чучури) и процесът се извършва от Worker Nodes (Bolts).
  • Здравето на чучурите и болтовете се следи непрекъснато чрез сърдечни удари. След като началникът умре, Nimbus разпределя задачата на друг възел.
  • Ако Nimbus умре, той автоматично се рестартира от инструментите за мониторинг. Междувременно надзорните органи продължават да изпълняват задачите си, които са възложени по-рано.
  • След като Nimbus се рестартира, той продължава да работи от мястото, където е спрял. Следователно няма загуба на данни и всяка информация преминава през топологията поне веднъж.
  • Топологията продължава да работи, освен докато Nimbus не бъде прекратено или принудително изключено.
  • Storm използва Zookeeper за наблюдение на Nimbus и другите възлови надзорни възли.

Голяма заявка

Базите данни се използват за транзакционна обработка. Мениджърите създават отчети и анализират данните от различни бази данни. Бяха въведени хранилища за данни за получаване на данни от множество бази данни в цялата организация. Google разработи Голяма заявка, която е склад за данни, управляван от собственото си аз. За да се справят с много сложни заявки, може да са ви необходими много високоефективни сървъри и Node машини, които могат да струват огромно. Настройката на инфраструктурата може да отнеме до няколко седмици. След достигане на максималния праг, той трябва да бъде увеличен. За да преодолее тези проблеми, Big query предлага съхранение под формата на облака на Google. Работните възли мащабират до размера на центъра за данни, ако е необходимо, за да извършат сложна заявка в рамките на секунди. Вие плащате за това, което използвате, т.е. заявката. Google се грижи за ресурсите, тяхното поддържане и сигурност. Изпълнението на заявки в нормални бази данни може да отнеме от минути до часове. Големите заявки обработват данни много по-бързо и са подходящи главно за поточно предаване на данни като онлайн игри и Интернет на нещата (IoT). Скоростта на обработка е толкова висока, колкото милиарди редове в секунда.

престо

Запитването Presto може да се използва за комбиниране на данни от различни източници в цялата организация и за тяхното анализиране. Данните могат да бъдат пребиваващи в кошера, RDBMS или Cassandra. Presto е най-подходящ за анализатори, които очакват целия справен доклад в рамките на минути. Архитектурата е аналогична на класическата система за управление на бази данни с използването на множество възли в клъстер. Той е разработен от Facebook за извършване на анализ и намиране на прозрения от техните вътрешни данни, включително от техния склад от 300PB. Над 30 000 заявки се изпълняват по техните данни, за да сканират над петабайт на ден. Други водещи компании като Airbnb и Dropbox също използват Presto.

Препоръчителен член

Това е ръководство за алтернативите на Hadoop. Тук обсъждаме компонентите на Hadoop, Batch обработка и обработка в реално време на Hadoop алтернативи. Можете също да разгледате следните статии, за да научите повече:

  1. Работа на администратор на Hadoop
  2. Hadoop срещу SQL производителност
  3. Кариера в Хадоп
  4. Hadoop срещу Spark
  5. Hadoop Administrator | Път за умения и кариера

Категория: