Introductie van Hadoop-alternatieven

Apache Hadoop is een monsterlijk framework dat verschillende andere componenten gebruikt, zoals HDFS, Hive, Spark, YARN en Zookeeper. Het wordt gebruikt voor het verwerken en analyseren van gegevens die zijn opgehaald uit interne of externe bronnen. Het kan schalen van meerdere machines of servers tot duizenden. Er zijn veel ingebouwde bibliotheekfuncties die storingen kunnen detecteren en afhandelen.

Componenten van Hadoop

1) Hadoop Distributed File System (HDFS):

Dit is de opslagtank met gegevens in Hadoop. Het werkt volgens het principe van gedistribueerde gegevens, waarbij enorme hoeveelheden gegevens in kleine delen worden onderverdeeld en op meerdere machines in een cluster worden opgeslagen.

2) MapReduce:

Het is een programmeermodel om op een parallelle manier analyses uit te voeren op de gegevens die zich in verschillende knooppunten van een cluster bevinden.

3) Bijenkorf:

Een open-source framework dat wordt gebruikt om de gestructureerde gegevens te bevragen met behulp van een Hive-Query-taal. De indexeringsfunctie wordt gebruikt om het queryproces te versnellen.

4) Ambari:

Een platform om de clusterstatus te bewaken en activiteiten te automatiseren. Het heeft een eenvoudige web-gebruikersinterface en kan eenvoudig worden geïnstalleerd en geconfigureerd.

Lijst met alternatieven voor Hadoop

Hieronder staan ​​de verschillende Hadoop-alternatieven die als volgt zijn:

Batchverwerking

Hier gebeurt de verwerking alleen op de archiefgegevens. Financiële audits en volkstellingen zijn bijvoorbeeld een analyse van oude gegevens om toekomstige resultaten beter te voorspellen. Deze gegevens kunnen miljarden rijen en kolommen bevatten. Batch-verwerking is het meest geschikt voor grote gegevensverwerking zonder de noodzaak van real-time analyse.

Realtime verwerking

Het wordt ook wel Stream-Processing genoemd. Hier worden de gegevens van tijd tot tijd verwerkt wanneer ze worden gegenereerd om een ​​snel inzicht in de waarschijnlijke resultaten te geven. Aardbevingdetectie en aandelenmarkten zijn de beste voorbeelden waar realtime analyse een must is.

Apache Spark

Spark is een framework dat samen met Hadoop wordt gebruikt om batch- of realtime gegevens op geclusterde machines te verwerken. Het kan ook worden gebruikt als een standalone, ophalen en opslaan van gegevens op servers van derden zonder gebruik te maken van HDFS. Het is een open-sourceproduct. Het biedt API's die zijn geschreven met behulp van SCALA, R of Python die algemene verwerking ondersteunen. Om gestructureerde gegevens te verwerken, kan Spark-SQL worden gebruikt. Spark Streaming voert broodnodige realtime analyses uit. Spark biedt ondersteuning voor machine learning met behulp van MLIB. Uiteindelijk kunnen de verwerkte gegevens worden bekeken met Graphix.

De meest opvallende eigenschap van Spark is verwerking in het geheugen. De volledige verwerking van de gegevens vindt plaats in het geheugen en niet op de schijf. Deze methode bespaart de lees-schrijftijd van de invoer naar de schijf en de uitvoer daarvan. Spark is razendsnel en is bijna 100 keer sneller dan Hadoop-verwerking. De volledige functie wordt gedefinieerd en aan de Spark-context voorgelegd. Pas dan begint de verwerking helemaal opnieuw. Deze methode staat bekend als Lazy-execution. Kafka, Flume worden gebruikt als invoer voor het streamen van gegevens. Gestructureerde of ongestructureerde gegevens kunnen door Spark worden gebruikt voor analyse. Gegevensstromen zijn een verzameling gegevens voor een bepaald tijdsinterval in Spark Streaming. Ze worden omgezet in batches en ter verwerking naar de Spark Engine gestuurd. Gestructureerde gegevens worden omgezet in gegevensframes voordat Spark-SQL wordt gebruikt voor verdere analyse.

Apache Storm

Apache Storm is ook een van de alternatieven van Hadoop die het meest geschikt is voor gedistribueerde, realtime analyses. Het is eenvoudig in te stellen, gebruiksvriendelijk en levert geen gegevensverlies op. Een storm heeft een zeer hoog verwerkingsvermogen en biedt een lage latentie (meestal in seconden) in vergelijking met Hadoop.

We zullen de workflow van Storm nader bekijken:

  • De Storm Topology (vergelijkbaar met een DAG maar een fysiek uitvoeringsplan) wordt ingediend bij Nimbus (Master Node).
  • De taken en de volgorde waarin het moet worden uitgevoerd, worden aan de Nimbus voorgelegd.
  • De Nimbus verdeelt de beschikbare taken gelijkmatig over de supervisors (Spouts) en het proces wordt uitgevoerd door de Worker Nodes (Bolts).
  • De gezondheid van de tuiten en bouten wordt continu gecontroleerd via Heartbeats. Zodra de supervisor sterft, wijst de Nimbus de taak toe aan een andere Node.
  • Als de Nimbus sterft, wordt deze automatisch opnieuw gestart door de monitoringtools. Ondertussen blijven de supervisors hun taken uitvoeren die eerder waren toegewezen.
  • Zodra de Nimbus opnieuw is opgestart, blijft hij werken waar hij stopte. Er is dus geen gegevensverlies en elke gegevens worden minstens één keer door de topologie geleid.
  • De topologie blijft doorgaan tenzij de Nimbus wordt beëindigd of krachtig wordt afgesloten.
  • Storm maakt gebruik van Zookeeper om de Nimbus en de andere supervisorknopen te bewaken.

Grote vraag

Databases worden gebruikt voor transactieverwerking. De managers maken rapporten en analyseren de gegevens uit verschillende databases. Data warehouses werden geïntroduceerd om data op te halen uit meerdere databases in de hele organisatie. Google ontwikkelde Big query, een datawarehouse dat door zichzelf wordt beheerd. Om zeer complexe vragen af ​​te handelen, heeft u mogelijk zeer goed presterende servers en Node-machines nodig die enorm kunnen kosten. Het opzetten van de infrastructuur kan enkele weken duren. Zodra de maximale drempel is bereikt, moet deze worden opgeschaald. Om deze problemen op te lossen, biedt Big query opslag in de vorm van de Google-cloud. De werkknooppunten schalen indien nodig op tot de grootte van een datacenter om binnen enkele seconden een complexe query uit te voeren. U betaalt voor wat u gebruikt, dat wil zeggen de zoekopdracht. Google zorgt voor de middelen en hun onderhoud en beveiliging. Het uitvoeren van query's op normale databases kan enkele minuten tot uren duren. Grote query verwerkt gegevens veel sneller en is vooral geschikt voor het streamen van gegevens zoals online gaming en Internet of Things (IoT). De verwerkingssnelheid is zo hoog als miljarden rijen in een seconde.

Presto

Een Presto-query kan worden gebruikt om gegevens uit verschillende bronnen in de organisatie te combineren en te analyseren. De gegevens kunnen zich in de Hive, RDBMS of Cassandra bevinden. Presto is het meest geschikt voor analisten die het hele gevraagde rapport binnen enkele minuten verwachten. De architectuur is analoog aan een klassiek databasebeheersysteem met het gebruik van meerdere knooppunten in een cluster. Het werd ontwikkeld door Facebook voor het uitvoeren van analyses en het vinden van inzichten uit hun interne gegevens, waaronder hun 300PB datawarehouse. Meer dan 30.000 zoekopdrachten worden uitgevoerd op hun gegevens om een ​​petabyte per dag te scannen. Andere toonaangevende bedrijven zoals Airbnb en Dropbox maken ook gebruik van Presto.

Aanbevolen artikel

Dit is een gids voor Hadoop-alternatieven geweest. Hier bespreken we de componenten van Hadoop, batchverwerking en realtime verwerking van Hadoop-alternatieven. U kunt ook de volgende artikelen bekijken voor meer informatie:

  1. Hadoop Administrator Jobs
  2. Hadoop versus SQL-prestaties
  3. Carrière in Hadoop
  4. Hadoop vs Spark
  5. Hadoop-beheerder | Vaardigheden & carrièrepad

Categorie: