Mi az Az Apache Hadoop az Azure HDInsightban?

Az Apache Hadoop volt a big data jellegű adatkészletek fürtökön végzett elosztott feldolgozásának, tárolásának és elemzésének eredeti nyílt forráskódú keretrendszere. A Hadoop-ökoszisztéma olyan kapcsolódó szoftvereket és segédprogramokat tartalmaz, mint az Apache Hive, az Apache HBase, a Spark, a Kafka és sok más.

Az Azure HDInsight egy teljes körű, teljes spektrumú, nyílt forráskódú elemzési szolgáltatás a felhőben nagyvállalatok számára. Az Apache Hadoop-fürt típusa az Azure HDInsightban lehetővé teszi az Apache Hadoop Elosztott fájlrendszer (HDFS), az Apache Hadoop YARN erőforrás-kezelés és egy egyszerű MapReduce programozási modell használatát a kötegelt adatok párhuzamos feldolgozásához és elemzéséhez. A HDInsight hadoop-fürtöi kompatibilisek az Azure Blob Storage, az Azure Data Lake Storage Gen1 vagy az Azure Data Lake Storage Gen2 szolgáltatással.

A HDInsighton elérhető Hadoop-technológiák összetevőinek megtekintése: A HDInsighttal elérhető összetevők és verziók. További tudnivalók a HDInsightban használt Hadoopról az Azure-szolgáltatások HDInsightra vonatkozó oldalán olvashatók.

Mi az a MapReduce?

Az Apache Hadoop MapReduce egy szoftveres keretrendszer olyan feladatok írásához, amelyek nagy mennyiségű adatot dolgoznak fel. A bemeneti adatok független adattömbökre oszlanak. Az egyes adattömbök feldolgozása párhuzamosan történik a fürt csomópontjai között. A MapReduce-feladat két függvényből áll:

  • Mapper: Felhasználja a bemeneti adatokat, elemzi azokat (általában szűrési és rendezési műveletekkel), és csuplokat bocsát ki (kulcs-érték párok)

  • Redukátor: Felhasználja a Mapper által kibocsátott összesítő műveletet, amely kisebb, kombinált eredményt hoz létre a Mapper-adatokból

Az alábbi ábrán egy egyszerű szószámú MapReduce-feladat látható:

HDI.WordCountDiagram.

A feladat kimenete annak a száma, hogy az egyes szavak hányszor történtek a szövegben.

  • A leképező a bemeneti szöveg minden sorát bemenetként veszi fel, és szavakra bontja. Kulcs-érték párokat bocsát ki minden alkalommal, amikor egy szó előfordul a szóból, és egy 1 követi. A kimenet rendezve van, mielőtt elküldené a redukátornak.
  • A redukátor összegzi az egyes szavak számát, és egyetlen kulcs/értékpárt bocsát ki, amely tartalmazza a szót, majd az előfordulások összegét.

A MapReduce különböző nyelveken implementálható. A Java a leggyakoribb implementáció, és bemutató célokra használatos ebben a dokumentumban.

Fejlesztői nyelvek

A Javán és a Java virtuális gépen alapuló nyelvek vagy keretrendszerek közvetlenül MapReduce-feladatként futtathatók. A dokumentumban használt példa egy Java MapReduce-alkalmazás. A nem Java-nyelveknek, például a C#-nak, a Pythonnak vagy az önálló végrehajtható fájloknak Hadoop-streamelést kell használniuk.

A Hadoop streamelése az STDIN és az STDOUT használatával kommunikál a mapperrel és a reduktóval. A leképező és a redukátor egyszerre olvas be adatokat az STDIN-ből, és írja a kimenetet az STDOUT-ba. A leképező és a redukátor által beolvasott vagy kibocsátott soroknak kulcs/érték pár formátumban kell lenniük, tabulátor karakterrel elválasztva:

[key]\t[value]

További információ: Hadoop Streaming.

Példák a Hadoop-streamelés HDInsighttal való használatára, lásd a következő dokumentumot:

Hol kezdjem?

Következő lépések