sql >> Database teknologi >  >> RDS >> Database

En introduktion til Hadoop og Big Data

Håndtering af tonsvis af data kræver en særlig ordning. Almindelige beregningsteknikker er utilstrækkelige til at håndtere en sluser af data, mere end når de kommer fra flere kilder. I Big Data er størrelsen vi taler om massiv - målt i zettabyte, exabyte eller millioner af petabyte eller milliarder af terabyte. Rammerne kaldet Hadoop bruges populært til at håndtere nogle af problemerne med Big Data management. Denne artikel forsøger at give en indledende idé om Hadoop i lyset af Big Data.

Evolution

Der sker ikke noget med et stort brag. Oprindelsen og udviklingen af ​​Hadoop er gradvis og i overensstemmelse med tidens behov for at håndtere Big Data. Kort sagt, det skylder sin oprindelse til Doug Cuttings Apache Nutch-projekt i år 2003, især i begyndelsen af ​​kodedelen af ​​det. Genesis blev udviklet fra Google File System (GFS), et papir, der blev offentliggjort i oktober 2003, som påvirkede et andet papir kaldet MapReduce:Simplified Data Processing on Large Clusters. Koden til HDFS i Hadoop er udregnet fra Apache Nutch-projektet i 2006 og er stærkt påvirket af GFS- og MapReduce-algoritmerne. Og det faktum, at navnet "Hadoop" kom fra Cuttings søns udstoppede elefantlegetøj, resonerer klart tanken om, at der er en elefant i rummet, som Hadoop tydeligvis ønsker at adressere eller håndtere.

I en nøddeskal

I dag er Hadoop vokset fra sin monolitiske begyndelse til at være et softwarebibliotek, en ramme til at udvikle applikationer, der kræver distribueret behandling af enorme mængder data, der ligger på tværs af klynger af computere ved hjælp af simple programmeringsmodeller. Det kan skaleres op fra enkelt server til tusindvis af maskiner. Ideen er at distribuere beregning og lagring på tværs af flere computere for at udnytte behandlingen af ​​store datasæt. Biblioteket har evnen til at opdage fejl på applikationslagets niveau, så programmøren kan håndtere dem og levere service oven på en klynge af computere i stedet for at trænge ned på fejlen til et eller flere lavere niveauer, hvor det bliver sværere at styre eller overvinde.

Hadoop er derfor en kombination af værktøjer og open source-biblioteker understøttet af Apache til at skabe applikationer til distribueret databehandling, som er yderst pålidelig og skalerbar.

Sådan virker det

Der er tre måder Hadoop grundlæggende håndterer Big Data på:

  • Det første problem er opbevaring. Dataene lagres i flere computere i et distribueret miljø, hvor de kan behandles parallelt for at reducere tid og ressourcer. Dataene bevares i et miljø kaldet Hadoop Distributed File System (HDFS) , som bruges til at gemme data i flere formater på tværs af klynger af maskiner. Til dette formål opdeler den data i blokke og gemmer dem på tværs af forskellige dataknudepunkter. Den bruger en teknik kaldet horisontal skalering at tilføje ekstra dataknudepunkter til eksisterende HDFS-klynger i henhold til kravet. Dette maksimerer udnyttelsen af ​​eksisterende ressource i stedet for at tilføje en, hver gang behovet for at opskalere opstår.
  • Det andet problem er at imødekomme de mange forskellige data. HDFS er udstyret til at gemme alle slags data, det være sig struktureret, semi-struktureret eller ustruktureret. Der er ingen pre-dumping skemavalidering. Når data først er skrevet, kan de læses flere gange uden problemer.
  • Det tredje problem er behandlingen og hvordan man får adgang til de lagrede data. I denne henseende kommer MapReduce-algoritmen til undsætning, hvor behandling fordeles på tværs af slaveknudepunkter for at arbejde parallelt, og resultatet sendes tilbage til masterknudepunktet. Masterknudepunktet slår resultaterne sammen, før det endelige resultat leveres. Denne del håndteres af YARN, som er designet til parallel behandling af data gemt i HDFS.

Der er mange indviklede dele til det, men dette er hvad Hadoop gør i en nøddeskal. Ideen med moduler ville give yderligere indsigt.

Moduler

Apache Hadoop Project består af seks moduler. De første fire er som følger:

  • Hadoop Common :Dette består af hjælpeprogrammer, der almindeligvis bruges af Hadoop og understøtter andre Hadoop-moduler. Det er også kendt som Hadoop Core og er en væsentlig del af økosystemet sammen med HDFS, YARN og MapReduce. Det er i denne del, at Hadoop antager, at hardware er tilbøjelige til at fejle, og at der findes alle nødvendige midler til, at en programmør automatisk kan håndtere fejl i software.
  • Hadoop Distributed File System (HDFS) :Et distribueret filsystem, der kan rumme en række filer på tværs af et distribueret miljø. Det opdeler filerne i blokke og gemmer dem på tværs af noder i en distribueret arkitektur. Det giver vandret skalering i stedet for lodret skalering til yderligere klyngedannelse. Den er meget fejltolerant og lav pris i form af hardwareimplementeringsmuligheder.
  • Hadoop-GARN :Dette er CPU'en i Hadoop-rammeværket. Med to hovedkomponenter, kaldet NodeManager og ResourceManager , YARN udfører alle behandlingsaktiviteter såsom ressourceallokering, opgaveplanlægning og klyngestyring.
  • Hadoop MapReduce :Dette er en ramme til at udføre al den parallelle beregning. MapReduce er en parallel programmeringsmodel til at behandle data i et distribueret miljø. Det er ideelt brugt til at skrive distribuerede applikationer, der effektivt kan behandle store mængder data på tværs af klynger af råvarehardware. Det segmenterer processen i to faser, kaldet Kort og Reducer , hvor opgaven for Mapper klasse er at tage input, tokenisere, kortlægge og sortere det. Outputtet bliver derefter input til Reducer klasse, som søger efter matchende par og reducerer dem. Der er nøgleværdi-par til input og output i hver fase, og typen af ​​parret bestemmes af programmøren.

To nye delprojekter er tilføjet for nylig:

  • Hadoop ozon :Det er en skalerbar, redundant og distribueret objektlager til Hadoop. Udover at skalere til milliarder af objekter af varierende størrelse, kan ozon fungere effektivt i containermiljøer som Kubernetes og YARN. Det er bygget på et meget tilgængeligt, replikeret bloklagerlag kaldet Hadoop Distributed Data Store (HDDS) . [Et uddrag. Klik for at finde mere.]
  • Hadoop-ubåd :En maskinlæringsmotor til Hadoop. Det er et projekt, der gør det muligt for en infraingeniør/dataforsker at køre deep learning-applikationer (Tensorflow, Pytorch og så videre) på en ressourcestyringsplatform (som YARN). [Et uddrag. Klik for at finde mere.]

Konklusion

Hadoop har haft en betydelig indflydelse på søgningerne, i logningsprocessen, i data warehousing og Big Data-analyse af mange større organisationer, såsom Amazon, Facebook, Yahoo og så videre. Det er en one-stop-løsning til lagring af en enorm mængde data af enhver art, ledsaget af skalerbar processorkraft til at udnytte praktisk talt ubegrænsede samtidige job. Med få ord skyldes Hadoops popularitet meget dens fejltolerante, skalerbare, omkostningseffektive og hurtige kapacitet.


  1. Hvordan Random() virker i PostgreSQL

  2. Hvorfor har nogle kommandoer ingen effekt i psql?

  3. Få Hibernate og SQL Server til at spille godt med VARCHAR og NVARCHAR

  4. Opret en dynamisk mysql-forespørgsel ved hjælp af php-variabler