Azure HDInsight 'ta Apache Hadoop nedir?What is Apache Hadoop in Azure HDInsight?

Kümelerde büyük veri kümelerinin dağıtılmış işlenmesi ve analizine yönelik ilk açık kaynak çerçeve Apache Hadoop’tu.Apache Hadoop was the original open-source framework for distributed processing and analysis of big data sets on clusters. Hadoop ekosistemi Apache Hive, Apache HBase, Spark, Kafka ve diğer birçok tane dahil olmak üzere ilgili yazılım ve yardımcı programları içerir.The Hadoop ecosystem includes related software and utilities, including Apache Hive, Apache HBase, Spark, Kafka, and many others.

Azure HDInsight, kuruluşlar için bulutta tam olarak yönetilen, tam bir açık kaynaklı analiz hizmetidir.Azure HDInsight is a fully managed, full-spectrum, open-source analytics service in the cloud for enterprises. Azure HDInsight 'taki Apache Hadoop kümesi türü, Batch verilerini paralel olarak işlemek ve analiz etmek için, bu kaynak yönetimini ve basit bir MapReduce programlama modelini kullanmanıza olanak sağlar.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.

HDInsight 'ta kullanılabilir Hadoop teknoloji yığını bileşenlerini görmek için bkz. HDInsight ile kullanılabilen bileşenler ve sürümler.To see available Hadoop technology stack components on HDInsight, see Components and versions available with HDInsight. HDInsight'ta Hadoop hakkında daha fazla bilgi edinmek için bkz. HDInsight için Azure özellikleri sayfası.To read more about Hadoop in HDInsight, see the Azure features page for HDInsight.

MapReduce nedir?What is MapReduce

MapReduce Apache Hadoop, çok miktarda veriyi işleyen işleri yazmaya yönelik bir yazılım çerçevesidir.Apache Hadoop MapReduce is a software framework for writing jobs that process vast amounts of data. Giriş verileri bağımsız parçalara bölünür.Input data is split into independent chunks. Her bir öbek, kümenizdeki düğümler arasında paralel olarak işlenir.Each chunk is processed in parallel across the nodes in your cluster. MapReduce işi iki işlevden oluşur:A MapReduce job consists of two functions:

  • Eşleyici: Giriş verilerini kullanır, analiz eder (genellikle filtre ve sıralama işlemleriyle birlikte) ve tanımlama gruplarını yayar (anahtar-değer çiftleri)Mapper: Consumes input data, analyzes it (usually with filter and sorting operations), and emits tuples (key-value pairs)

  • Reducer: Eşleyici tarafından yayılan başlıkları tüketir ve Eşleyici verilerinden daha küçük ve birleştirilmiş bir sonuç oluşturan bir Özet işlem gerçekleştirirReducer: Consumes tuples emitted by the Mapper and performs a summary operation that creates a smaller, combined result from the Mapper data

Temel bir sözcük sayısı MapReduce iş örneği aşağıdaki diyagramda gösterilmiştir:A basic word count MapReduce job example is illustrated in the following diagram:

HDI. WordCountDiagram

Bu işin çıkışı, metinde her bir sözcüğün kaç kez oluştuğunu gösteren bir saydır.The output of this job is a count of how many times each word occurred in the text.

  • Eşleyici her satırı giriş metinden girdi olarak alır ve sözcüklere ayırır.The mapper takes each line from the input text as an input and breaks it into words. Bir sözcüğün her oluşması durumunda 1 ' in ardından bir anahtar/değer çifti yayar.It emits a key/value pair each time a word occurs of the word is followed by a 1. Çıktı, Reducer 'e gönderilmeden önce sıralanır.The output is sorted before sending it to reducer.
  • Reducer, her sözcük için bu ayrı sayıları toplar ve sonra tekrarlarının toplamına göre, sözcüğü içeren tek bir anahtar/değer çifti yayar.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, çeşitli dillerde uygulanabilir.MapReduce can be implemented in various languages. Java en yaygın uygulamasıdır ve bu belgede tanıtım amacıyla kullanılır.Java is the most common implementation, and is used for demonstration purposes in this document.

Geliştirme dilleriDevelopment languages

Java ve Java Sanal Makinesi temel alan diller veya çerçeveler doğrudan MapReduce işi olarak çalıştırılabilir.Languages or frameworks that are based on Java and the Java Virtual Machine can be ran directly as a MapReduce job. Bu belgede kullanılan örnek bir Java MapReduce uygulamasıdır.The example used in this document is a Java MapReduce application. C#, Python veya tek başına yürütülebilir dosyalar gibi Java olmayan dillerin Hadoop akışınıkullanması gerekir.Non-Java languages, such as C#, Python, or standalone executables, must use Hadoop streaming.

Hadoop akışı Eşleyici ve Reducer üzerinden STDıN ve STDOUT üzerinden iletişim kurar.Hadoop streaming communicates with the mapper and reducer over STDIN and STDOUT. Eşleyici ve Reducer verileri STDIN 'den bir kerede bir satıra okur ve çıktıyı STDOUT 'a yazar.The mapper and reducer read data a line at a time from STDIN, and write the output to STDOUT. Eşleyici ve Reducer tarafından okunan veya yayılan her satır, bir sekme karakteriyle ayrılmış bir anahtar/değer çifti biçiminde olmalıdır: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]

Daha fazla bilgi için bkz. Hadoop akışı.For more information, see Hadoop Streaming.

HDInsight ile Hadoop akışını kullanma örnekleri için aşağıdaki belgeye bakın:For examples of using Hadoop streaming with HDInsight, see the following document:

Sonraki adımlarNext steps