Hadoop - platforma do eksploracji Big Data

Projekt open source Hadoop, administrowany przez Apache Software Foundation, opiera się na technologiach wywodzących się z Google i służy do tworzenia platform konsolidujących, łączących i rozpoznających znaczenie danych. Umożliwia tworzenie aplikacji działających w rozproszeniu, zdolnych do przetwarzania olbrzymich zbiorów danych.

Przed pojawieniem się Hadoop (rok 2004), konwencjonalna analiza danych skupiała się na danych strukturalizowanych i kwerendach w czasie rzeczywistym. Wykorzystanie niestrukturalizowanych i częściowo strukturalizowanych danych uważane było za zbyt kosztowne i niepraktyczne.

Zobacz również:

  • IDC CIO Summit – potencjał drzemiący w algorytmach
  • Kwanty od OVHCloud dla edukacji

Największym wyzwaniem związanym z realizacją koncepcji Big Data, było uzyskanie platformy, która może przechowywać i zapewniać dostęp do wszystkich bieżących i przyszłych informacji oraz udostępniać je online dla analiz. Taka platforma musi zawierać technologię pamięci masowej, język kwerend, narzędzia analityki, narzędzia analizy zawartości i infrastrukturę transportową.

Platforma Hadoop

Hadoop składa się z dwóch kluczowych warstw: pamięci masowej, wykorzystującej Hadoop Distributed File System (HDFS), i równoległego przetwarzania danych wykorzystującego technikę o nazwie MapReduce (Google). Zadaniem tych dwóch warstw jest zapewnienie podstaw dla wdrożenia wydajnych i niezawodnych analiz zarówno danych strukturalizowanych, jak i niestrukturalizowanych.

Hadoop - platforma do eksploracji Big Data

Struktura platformy Hadoop

MapReduce pozwala na tworzenie aplikacji, które przetwarzają olbrzymie wolumeny niestrukturalizowanych danych w sposób równoległy - na rozproszonych klastrach niezależnych komputerów.

Jedną z ważnych cech MapReduce jest tolerancja uszkodzeń osiągana poprzez monitorowanie każdego węzła w klastrze: zakłada się, że każdy węzeł okresowo przekazuje raporty o aktualnym stanie zadań. Jeżeli węzeł milczy dłużej niż określony czas, węzeł nadrzędny odnotowuje ten fakt i przekazuje jego zadania do innych węzłów.

Do ustawienia środowiska Hadoop wymagane są umiejętności programistyczne - zespół analityków musi mieć wsparcie programistów. Rezultat pracy programistów Hadoop pozwala tradycyjnym użytkownikom analiz na łatwiejsze "skonsumowanie" wyniku końcowego, osiąganego na kilka sposobów.

HDFS

HDFS jest systemem plików zaprojektowanym z myślą o efektywnym przechowywaniu i przetwarzaniu dużych plików (setki megabajtów) na wielu klastrach niedrogiego sprzętu. Jego projekt opiera się na założeniu, że najefektywniejsze przetwarzanie polega na zasadzie "zapisz raz - czytaj wielokrotnie". Jedną z największych zalet HDFS jest tolerancja uszkodzeń bez utraty danych.

Podstawowymi jednostkami obszarów pamięci na dysku fizycznym i systemie plików są bloki. Blok HDFS ma domyślnie wielkość 64 MB, ale może być zmieniany zgodnie z potrzebami. Pliki HDFS są dzielone i przechowywane w jednostkach wielkości bloku. Jednak w odróżnieniu od systemów plików dla pojedynczego dysku, plik HDFS mniejszy niż pojedynczy blok HDFS nie zajmuje całego bloku.

System plików HDFS ma wiele zalet. Pliki HDFS mogą być większe niż pojedynczy dysk w sieci, a bloki upraszczają zarządzanie metadanymi indywidualnych plików w podsystemie pamięci. Bloki ułatwiają też replikacje, zapewniając tolerancję uszkodzeń i dostępność. Każdy blok jest replikowany na innych maszynach (zazwyczaj trzech). Jeżeli blok stanie się niedostępny z powodu uszkodzenia nośnika lub awarii sprzętu, to jego kopię można przeczytać z innej lokalizacji w sposób transparentny dla klienta.


TOP 200