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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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