Niezbędne narzędzia Hadoop do przetwarzania dużych zbiorów danych



Hadoop to modne słowo w dzisiejszym świecie IT, a ten post opisuje podstawowe narzędzia Hadoop, które obsługują Big Data.

Obecnie najpopularniejszym terminem w świecie IT jest „Hadoop”. W krótkim czasie Hadoop znacznie się rozrósł i okazał się przydatny w przypadku dużej kolekcji różnorodnych projektów. Społeczność Hadoop szybko się rozwija i odgrywa znaczącą rolę w swoim ekosystemie.





Oto przegląd podstawowych narzędzi Hadoop, które są używane do obsługi Big Data.

transformacja wyszukiwania w przykładzie informatica

ambari



Ambari to projekt Apache wspierany przez Hortonworks. Oferuje oparty na sieci Web GUI (graficzny interfejs użytkownika) ze skryptami kreatora do konfigurowania klastrów z większością standardowych komponentów. Ambari zapewnia, zarządza i monitoruje wszystkie klastry zadań Hadoop.

hdfs-logo

Plik HDFS , rozpowszechniany na licencji Apache, oferuje podstawową strukturę do dzielenia zbiorów danych na wiele węzłów. W HDFS duże pliki są dzielone na bloki, w których kilka węzłów zawiera wszystkie bloki z pliku. System plików został zaprojektowany w taki sposób, aby łączyć odporność na błędy z wysoką przepustowością. Bloki HDFS są ładowane w celu utrzymania stabilnego przesyłania strumieniowego. Zwykle nie są buforowane, aby zminimalizować opóźnienia.



hbaselogo

HBase to oparty na kolumnach system zarządzania bazami danych, który działa na bazie HDFS. Aplikacje HBase są napisane w języku Java, podobnie jak aplikacja MapReduce. Zawiera zestaw tabel, z których każda zawiera wiersze i kolumny, podobnie jak tradycyjna baza danych. Gdy dane wpadną do dużej tabeli, HBase będzie przechowywać dane, przeszukiwać je i automatycznie udostępniać tabelę w wielu węzłach, aby zadania MapReduce mogły uruchamiać ją lokalnie. HBase oferuje ograniczoną gwarancję na niektóre zmiany lokalne. Zmiany, które zachodzą w jednym wierszu, mogą jednocześnie zakończyć się sukcesem lub niepowodzeniem.

hive

Jeśli znasz już biegle język SQL, możesz skorzystać z platformy Hadoop za pomocą Ul . Hive został opracowany przez niektórych ludzi z Facebooka. Apache Hive reguluje proces wyodrębniania bitów ze wszystkich plików w HBase. Obsługuje analizę dużych zbiorów danych przechowywanych w HDFS Hadoop i kompatybilnych systemach plików. Udostępnia również język podobny do SQL o nazwie HSQL (HiveSQL), który dostaje się do plików i wyodrębnia wymagane fragmenty kodu.

sqoop

Apache Sqoop jest specjalnie zaprojektowany do wydajnego przesyłania masowego danych z tradycyjnych baz danych do Hive lub HBase. Może być również używany do wyodrębniania danych z Hadoop i eksportowania ich do zewnętrznych strukturalnych magazynów danych, takich jak relacyjne bazy danych i hurtownie danych przedsiębiorstwa. Sqoop to narzędzie wiersza poleceń, mapujące między tabelami a warstwą przechowywania danych, tłumaczące tabele na konfigurowalną kombinację HDFS, HBase lub Hive.

Pig1

Gdy przechowywane dane są widoczne dla Hadoop, Apache Pig zagłębia się w dane i uruchamia kod napisany w swoim własnym języku o nazwie Pig Latin. Pig Latin jest pełen abstrakcji do przetwarzania danych. Pig jest wyposażony w standardowe funkcje do typowych zadań, takich jak uśrednianie danych, praca z datami lub znajdowanie różnic między ciągami. Pig pozwala również użytkownikowi na samodzielne pisanie języków, zwanych UDF (User Defined Function), gdy standardowe funkcje są niewystarczające.

zookeper

Zookeeper to scentralizowana usługa, która przechowuje, konfiguruje informacje, nadaje nazwę i zapewnia rozproszoną synchronizację w klastrze. Nakłada na klaster hierarchię podobną do systemu plików i przechowuje wszystkie metadane maszyn, dzięki czemu możemy synchronizować pracę różnych maszyn.

NoSQL

Niektóre klastry Hadoop integrują się z platformami NoSQL magazyny danych, które mają własne mechanizmy przechowywania danych w klastrze węzłów. Dzięki temu mogą przechowywać i pobierać dane z wszystkimi funkcjami bazy danych NoSQL, po czym Hadoop może być używany do planowania zadań analizy danych w tym samym klastrze.

mahoutlogo

Kornak jest przeznaczony do implementacji dużej liczby algorytmów, klasyfikacji i filtrowania analizy danych do klastra Hadoop. Wiele standardowych algorytmów, takich jak K-średnie, Dirichelet, wzór równoległy i klasyfikacje bayesowskie, jest gotowych do uruchomienia na danych z mapą w stylu Hadoop i redukcji.

Lucene, napisany w Javie i łatwo zintegrowany z Hadoop, jest naturalnym towarzyszem Hadoop. Jest to narzędzie przeznaczone do indeksowania dużych bloków nieustrukturyzowanego tekstu. Lucene obsługuje indeksowanie, podczas gdy Hadoop obsługuje zapytania rozproszone w klastrze. Funkcje Lucene-Hadoop szybko się rozwijają w miarę opracowywania nowych projektów.

Avro

Euro to system serializacji, który łączy dane razem ze schematem ich zrozumienia. Każdy pakiet zawiera strukturę danych JSON. JSON wyjaśnia, jak można analizować dane. Nagłówek JSON określa strukturę danych, dzięki czemu można uniknąć konieczności zapisywania dodatkowych tagów w danych w celu oznaczenia pól. Wynik jest znacznie bardziej zwarty niż tradycyjne formaty, takie jak XML.

Zadanie można uprościć, dzieląc je na etapy. Po rozbiciu projektu na wiele zadań Hadoop, Oozie zaczyna je przetwarzać w odpowiedniej kolejności. Zarządza przepływem pracy określonym przez DAG (Directed Acyclic Graph) i nie ma potrzeby terminowego monitorowania.

Narzędzia GIS

Praca z mapami geograficznymi to duże zadanie dla klastrów z systemem Hadoop. GIS ( System informacji Geograficznej ) narzędzia dla projektów Hadoop dostosowały najlepsze narzędzia oparte na języku Java do zrozumienia informacji geograficznych do działania z Hadoop. Bazy danych mogą teraz obsługiwać zapytania geograficzne przy użyciu współrzędnych, a kody mogą wdrażać narzędzia GIS.

Zebranie wszystkich danych jest równoznaczne z ich przechowywaniem i analizą. Apache Flume wysyła „agentów specjalnych” w celu zebrania informacji, które będą przechowywane w HDFS. Gromadzone informacje mogą być plikami dziennika, interfejsem API Twittera lub fragmentami witryn internetowych. Dane te można łączyć i poddawać analizom.

Spark

Iskra to następna generacja, która prawie działa jak Hadoop, który przetwarza dane przechowywane w pamięci. Jego celem jest przyspieszenie analizy danych i pisanie przy użyciu ogólnego modelu wykonania. Może to zoptymalizować wykresy dowolnego operatora i obsługiwać przetwarzanie w pamięci, co pozwala na szybsze wysyłanie zapytań do danych niż silniki dyskowe, takie jak Hadoop.

SQL na Hadoop

Gdy wymagane jest szybkie zapytanie ad hoc dotyczące wszystkich danych w klastrze, można zapisać nowe zadanie Hadoop, ale zajmuje to trochę czasu. Kiedy programiści zaczęli to robić częściej, wymyślili narzędzia napisane prostym językiem SQL. Te narzędzia zapewniają szybki dostęp do wyników.

Apache Drill

Apache Drill zapewnia zapytania ad-hoc o małych opóźnieniach do wielu różnych źródeł danych, w tym danych zagnieżdżonych. Drill, zainspirowany narzędziem Dremel firmy Google, umożliwia skalowanie do 10 000 serwerów i przeszukiwanie petabajtów danych w ciągu kilku sekund.

Oto podstawowe narzędzia Hadoop do przetwarzania dużych zbiorów danych!

Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy, a my skontaktujemy się z Tobą.

Powiązane posty:

Praktyczne powody, dla których warto nauczyć się Hadoop 2.0