Video: SpatialHadoop: MapReduce Processing of Spatial Data in Hadoop 2024
MapReduce is een programmeerparadigma dat is ontworpen om parallelle gedistribueerde verwerking van grote sets van data, converteren naar sets van tuples, en dan die tuples combineren en reduceren tot kleinere sets van tuples. In termen van de leek was MapReduce ontworpen om big data te nemen en parallelle gedistribueerde computing te gebruiken om big data om te zetten in kleine of normale gegevens.
Parallel gedistribueerde verwerking verwijst naar een krachtig raamwerk waarin grote hoeveelheden gegevens zeer snel worden verwerkt door verwerkingstaken te distribueren over clusters van commodity-servers. Met betrekking tot MapReduce verwijzen tuples naar sleutel / waarde-paren waarmee gegevens worden gegroepeerd, gesorteerd en verwerkt.
MapReduce-taken werken via de kaart en verminderen procesbewerkingsreeksen op een gedistribueerde set servers. In de kaarttaak delegeert u uw gegevens naar sleutel / waarde-paren, transformeert u deze en filtert u deze. Vervolgens wijst u de gegevens toe aan knooppunten voor verwerking.
In taak verlagen, aggregeert u die gegevens tot kleinere datasets. Gegevens uit de stap Minder worden getransformeerd naar een standaard sleutelwaarde-indeling - waarbij de -sleutel fungeert als de record-ID en de -waarde de waarde is die wordt geïdentificeerd door de sleutel. De berekeningsknooppunten van de clusters verwerken de kaart en verminderen taken die door de gebruiker zijn gedefinieerd. Dit werk wordt gedaan in overeenstemming met de volgende twee stappen:
-
Breng de gegevens in kaart.
De binnenkomende gegevens moeten eerst worden gedelegeerd in sleutelwaardeparen en worden onderverdeeld in fragmenten, die vervolgens worden toegewezen aan toewijzingstaken. Elk computercluster - een groep knooppunten die met elkaar zijn verbonden en een gedeelde computertaak uitvoeren - krijgt een aantal kaarttaken toegewezen, die vervolgens worden verdeeld over de knooppunten.
Na verwerking van de sleutel / waarde-paren, worden tussenliggende sleutel / waarde-paren gegenereerd. De tussenliggende sleutel / waarde-paren worden gesorteerd op hun sleutelwaarden en deze lijst is verdeeld in een nieuwe reeks fragmenten. Wat telt voor deze nieuwe fragmenten, het zal hetzelfde zijn als het aantal taken verminderen.
-
Verminder de gegevens.
Aan elke taak voor verkleinen is een fragment toegewezen. De taak reduceren verwerkt eenvoudigweg het fragment en produceert een uitvoer, die ook een sleutel / waarde-paar is. Verkleinde taken worden ook verdeeld over de verschillende knooppunten van het cluster. Nadat de taak is voltooid, wordt de laatste uitvoer naar een bestandssysteem geschreven.
Kortom, u kunt snel en efficiënt naar beneden klappen en een groot volume, snelheid en verscheidenheid aan gegevens beginnen te begrijpen door kaarten te gebruiken en taken te verkleinen om uw gegevens te taggen met (sleutel, waarde) paren en vervolgens te verkleinen die paren in kleinere gegevenssets door aggregatiebewerkingen - bewerkingen die meerdere waarden uit een gegevensreeks combineren tot één waarde.Een diagram van de MapReduce-architectuur is hier te vinden.
Als uw gegevens niet geschikt zijn om te worden getagd en verwerkt via sleutels, waarden en aggregatie, en vervolgens in het algemeen in kaart te brengen, voldoet dit niet aan uw behoeften.
Als u MapReduce gebruikt als onderdeel van een Hadoop-oplossing, wordt de laatste uitvoer geschreven naar het Hadoop Distributed File System (HDFS). HDFS is een bestandssysteem dat clusters van commodity-servers bevat die worden gebruikt om big data op te slaan. HDFS maakt big data handling en opslag financieel haalbaar door -de verdeling van opslagtaken over clusters van goedkope commodity-servers.