Какво е Hadoop?

Преди да разберете предимствата на Hadoop първо разберете Hadoop. Hadoop е голяма парадигма за обработка на данни, която осигурява надеждно, мащабируемо място за съхранение и обработка на данни. Hadoop е създаден от Doug Cutting и той се счита за „баща на Hadoop“. Хадооп беше името на играчката слон на сина му. Hadoop има своите корени в проекта за търсачка на Nutch. Hadoop е рамка за обработка, която донесе огромни промени в начина, по който обработваме данните, начина, по който съхраняваме данните. В сравнение с традиционните инструменти за обработка като RDBMS, Hadoop доказа, че можем ефективно да се борим с предизвикателствата на големи данни като,

Разнообразие от данни: Hadoop може да съхранява и обработва структурирани, както и полуструктурирани и неструктурирани формати на данни.

Обемът на данните : Hadoop е специално проектиран да борави с огромния обем данни в диапазона от петабайти.

Скоростта на данните : Hadoop може да обработва петабайти данни с висока скорост в сравнение с други инструменти за обработка като RDBMS, т.е. времето за обработка в Hadoop е много по-малко.

Характерни особености на Hadoop

  • Hadoop е с отворен код в природата.
  • Работи се върху струпване от машини. Размерът на клъстера зависи от изискванията.
  • Може да работи на обикновен стоков хардуер.

Предимства на Hadoop

В този раздел се обсъждат предимствата на Hadoop. Сега нека ги разгледаме един по един:

1. Отворен код

Hadoop е с отворен код в природата, т.е. нейният изходен код е свободно достъпен. Можем да променяме изходния код според нашите бизнес изисквания. Дори собствени версии на Hadoop като Cloudera и Horton произведения също са на разположение.

2. Мащабируем

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

3. Толерантност към повреда

Толерантността на грешките е характерната черта на Hadoop. По подразбиране всеки блок в HDFS има коефициент на репликация 3. За всеки блок данни HDFS създава още две копия и ги съхранява на различно място в клъстера. Ако някой блок изчезне поради повреда на машината, все още имаме още две копия на същия блок и тези се използват. По този начин се постига толерантност на грешките в Hadoop.

4. Схема независима

Hadoop може да работи върху различни видове данни. Той е достатъчно гъвкав за съхранение на различни формати на данни и може да работи както върху данни със схема (структурирана), така и без схеми (неструктурирани).

5. Висока производителност и ниска закъснение

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

6. Локалност на данните

Hadoop работи на принципа „Преместване на кода, а не данни“. В Hadoop данните остават неподвижни и за обработка на данни кодът се премества към данни под формата на задачи, това е известно като Локалност на данните. Тъй като имаме работа с данни в обхвата на петабайти, става трудно и скъпо да се движат данните през мрежата, локалността на данните гарантира, че движението на данни в клъстера е минимално.

7. Изпълнение

В наследени системи като RDBMS данните се обработват последователно, но в Hadoop обработката започва на всички блокове наведнъж, като по този начин се осигурява паралелна обработка. Благодарение на паралелните техники за обработка, производителността на Hadoop е много по-висока от наследствените системи като RDBMS. През 2008 г. Hadoop дори победи най-бързият суперкомпютър, присъстващ по това време.

8. Споделете нищо архитектура

Всеки възел в групата Hadoop е независим един от друг. Те не споделят ресурси или съхранение, тази архитектура е известна като Share Nothing Architecture (SN). Ако възел в клъстера не успее, той няма да свали целия клъстер, тъй като всеки възел действа независимо, като по този начин елиминира Единична точка на повреда.

9. Поддръжка на няколко езика

Въпреки че Hadoop е разработен най-вече в Java, той разширява поддръжката за други езици като Python, Ruby, Perl и Groovy.

10. Ефективна цена

Hadoop е много икономичен по своята същност. Можем да изградим Hadoop Cluster, използвайки нормален хардуерен продукт, като по този начин намалим хардуерните разходи. Според облачната ера разходите за управление на данни на Hadoop, т.е. както хардуер и софтуер, така и други разходи са много минимални в сравнение с традиционните ETL системи.

11. Абстракция

Hadoop осигурява абстракция на различни нива. Улеснява работата на разработчиците. Голям файл е разбит на блокове със същия размер и се съхранява на различни места на клъстера. Докато създаваме задача за намаляване на картата, трябва да се притесняваме за местоположението на блоковете. Ние даваме пълен файл като вход и рамката Hadoop се грижи за обработката на различни блокове данни, които са на различни места. Кошера е част от екосистемата Hadoop и представлява абстракция на върха на Hadoop. Тъй като задачите за намаляване на карти са написани на Java, SQL разработчиците по целия свят не успяха да се възползват от намалението на картата. И така, Hive е въведен за разрешаване на този проблем. Можем да пишем SQL като заявки в Hive, което от своя страна задейства Map намаляване на работните места. Така че, благодарение на Hive, SQL общността също е в състояние да работи върху задачите за намаляване на картата.

12. Съвместимост

В Hadoop HDFS е слоят за съхранение, а Map Reduce е двигателят за обработка. Но няма твърдо правило, че намаляването на картата трябва да бъде процесорният двигател по подразбиране. Новите рамки за обработка като Apache Spark и Apache Flink използват HDFS като система за съхранение. Дори и в Hive също можем да променим нашия двигател за изпълнение на Apache Tez или Apache Spark според нашите изисквания. Apache HBase, която е NoSQL Columnar Database, използва HDFS за слоя за съхранение.

13. Поддръжка на различни файлови системи

Hadoop е много гъвкав по своята същност. Той може да поема различни формати на данни като изображения, видеоклипове, файлове и др. Може да обработва и структурирани и неструктурирани данни. Hadoop поддържа различни файлови системи като JSON, XML, Avro, Parquet и т.н.

Работа на Hadoop

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

1. Разпределено съхранение и паралелна обработка

Това е движещият принцип на всички рамки на екосистемата Hadoop, включително Apache Spark. За да разберем работата на Hadoop и Spark, първо трябва да разберем какво е „Разпределено съхранение и паралелна обработка“.

2. Разпределено съхранение

Hadoop не съхранява данни в една машина, вместо това разбива тези огромни данни в блокове с еднакъв размер, които по подразбиране са 256MB и съхранява тези блокове в различни възли на клъстер (работнически възли). Той съхранява метаданните на тези блокове в главния възел. Този начин на съхранение на файла в разпределени места в клъстер е известен като Hadoop разпределена файлова система - HDFS.

3. Паралелна обработка

Това е парадигма за обработка, при която обработката се извършва едновременно на блоковете данни, съхранявани в HDFS. Паралелната обработка работи върху понятието „Преместване на кода, а не данни“. Данните остават неподвижни в HDFS, но кодът се премества в данни за обработка. Казано по-просто, ако нашият файл е разбит на 100 блока, тогава се създават 100 копия на заданието и те пътуват през клъстера до мястото, където блокът пребивава и обработката на 100 блока започва едновременно (Map Phase). Изходните данни от всички блокове се събират и се свеждат до крайния изход (Намаляване на фазата). Намалението на картата се счита за „Сърцето на Хадоп“.

Заключение-Предимства на Hadoop

В тази епоха на данни Hadoop проправи пътя за различен подход към предизвикателствата, породени от Big data. Когато казваме, Hadoop не означаваме само Hadoop, той включва инструменти на Hadoop Ecosystem като Apache Hive, които предоставят SQL подобни операции върху Hadoop, Apache Pig, Apache HBase за Columnar база данни за съхранение, Apache Spark за обработка в паметта и много Повече ▼. Въпреки че Hadoop има своите недостатъци, той е силно адаптивен и постоянно се развива с всяко издание.

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

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

  1. Рамка за HADOOP
  2. Какво е клъстер Hadoop?
  3. Какво представлява MapReduce в Hadoop?
  4. Hadoop база данни
  5. Какво е Hadoop? | Приложения и функции

Категория: