Wat is Apache Hadoop in azure HDInsight?What is Apache Hadoop in Azure HDInsight?

Apache Hadoop was het originele open-source framework voor gedistribueerde verwerking en analyse van sets met big data in clusters.Apache Hadoop was the original open-source framework for distributed processing and analysis of big data sets on clusters. Het Hadoop-ecosysteem bevat gerelateerde software en hulpprogram ma's, waaronder Apache Hive, Apache HBase, Spark, Kafka en vele andere.The Hadoop ecosystem includes related software and utilities, including Apache Hive, Apache HBase, Spark, Kafka, and many others.

Azure HDInsight is een volledig beheerde, open-source analyse service in de Cloud voor ondernemingen.Azure HDInsight is a fully managed, full-spectrum, open-source analytics service in the cloud for enterprises. Met het cluster type Apache Hadoop in azure HDInsight kunt u HDFS, het resource beheer voor GARENs en een eenvoudig MapReduce-programmeer model gebruiken om batch gegevens parallel te verwerken en te analyseren.The Apache Hadoop cluster type in Azure HDInsight allows you to use HDFS, YARN resource management, and a simple MapReduce programming model to process and analyze batch data in parallel.

Zie onderdelen en versies die beschikbaar zijn met hdinsightvoor een overzicht van de beschik bare Hadoop-technologie stack onderdelen op hdinsight.To see available Hadoop technology stack components on HDInsight, see Components and versions available with HDInsight. Zie de pagina met Azure-functies voor HDInsight voor meer informatie over Hadoop in HDInsight.To read more about Hadoop in HDInsight, see the Azure features page for HDInsight.

Wat is MapReduceWhat is MapReduce

Apache Hadoop MapReduce is een software raamwerk voor het schrijven van taken waarmee enorme hoeveel heden gegevens worden verwerkt.Apache Hadoop MapReduce is a software framework for writing jobs that process vast amounts of data. Invoer gegevens worden in onafhankelijke segmenten gesplitst.Input data is split into independent chunks. Elk segment wordt parallel verwerkt over de knoop punten in uw cluster.Each chunk is processed in parallel across the nodes in your cluster. Een MapReduce-taak bestaat uit twee functies:A MapReduce job consists of two functions:

  • Mapper: Gebruikt invoer gegevens, analyseert deze (meestal met filter-en sorteer bewerkingen) en verstuurt Tuples (sleutel-waardeparen)Mapper: Consumes input data, analyzes it (usually with filter and sorting operations), and emits tuples (key-value pairs)

  • Reductier: Verbruikt Tuples die worden verzonden door de Mapper en voert een samenvattings bewerking uit die een kleiner, gecombineerd resultaat van de toewijzings gegevens maaktReducer: Consumes tuples emitted by the Mapper and performs a summary operation that creates a smaller, combined result from the Mapper data

In het volgende diagram ziet u een voor beeld van een basis aantal woorden MapReduce-taak:A basic word count MapReduce job example is illustrated in the following diagram:

HDI.WordCountDiagram

De uitvoer van deze taak is het aantal keer dat elk woord is opgetreden in de tekst.The output of this job is a count of how many times each word occurred in the text.

  • De Mapper neemt elke regel uit de invoer tekst als invoer en splitst deze in woorden.The mapper takes each line from the input text as an input and breaks it into words. Telkens wanneer een woord in het woord wordt uitgevoerd, wordt een sleutel/waarde-paar verzonden, gevolgd door een 1.It emits a key/value pair each time a word occurs of the word is followed by a 1. De uitvoer wordt gesorteerd voordat deze naar de reductie functie wordt verzonden.The output is sorted before sending it to reducer.
  • De verkorter telt het aantal afzonderlijke woorden voor elk woord en verzendt één sleutel/waarde-paar dat het woord bevat, gevolgd door de som van de bijbehorende exemplaren.The reducer sums these individual counts for each word and emits a single key/value pair that contains the word followed by the sum of its occurrences.

MapReduce kan in verschillende talen worden geïmplementeerd.MapReduce can be implemented in various languages. Java is de meest voorkomende implementatie en wordt gebruikt voor demonstratie doeleinden in dit document.Java is the most common implementation, and is used for demonstration purposes in this document.

Ontwikkelings talenDevelopment languages

Talen of frameworks die zijn gebaseerd op Java en de Java Virtual Machine kunnen rechtstreeks als een MapReduce-taak worden uitgevoerd.Languages or frameworks that are based on Java and the Java Virtual Machine can be ran directly as a MapReduce job. Het voor beeld dat in dit document wordt gebruikt, is een Java MapReduce-toepassing.The example used in this document is a Java MapReduce application. Niet-Java-talen, zoals C#python of zelfstandige uitvoer bare bestanden, moeten Hadoop streaminggebruiken.Non-Java languages, such as C#, Python, or standalone executables, must use Hadoop streaming.

Hadoop streaming communiceert met de Mapper en de verkorter dan STDIN en STDOUT.Hadoop streaming communicates with the mapper and reducer over STDIN and STDOUT. De Mapper en reducer lezen gegevens een regel tegelijk van STDIN en schrijven de uitvoer naar STDOUT.The mapper and reducer read data a line at a time from STDIN, and write the output to STDOUT. Elke regel die wordt gelezen of verzonden door de Mapper en de verkleinder moet de indeling hebben van een sleutel/waarde-paar, gescheiden door een tabteken:Each line read or emitted by the mapper and reducer must be in the format of a key/value pair, delimited by a tab character:

[key]/t[value]

Zie Hadoop streamingvoor meer informatie.For more information, see Hadoop Streaming.

Raadpleeg het volgende document voor voor beelden van het gebruik van Hadoop streaming met HDInsight:For examples of using Hadoop streaming with HDInsight, see the following document:

Volgende stappenNext steps