W tym samouczku na blogu Apache Flume dowiemy się, jak Flume pomaga w przesyłaniu strumieniowym danych z różnych źródeł. Ale zanim to nastąpi, zrozummy, jak ważne jest pozyskiwanie danych. Pozyskiwanie danych jest pierwszym i ważnym krokiem w celu przetwarzania i analizowania danych, a następnie wyprowadzania z nich wartości biznesowych. Istnieje wiele źródeł, z których dane są gromadzone w organizacji.
Porozmawiajmy o innym ważnym powodem, dla którego Flume stał się tak popularny. Mam nadzieję, że możesz być zaznajomiony , który jest niezwykle używany w branży, ponieważ może przechowywać wszelkiego rodzaju dane. Flume może z łatwością zintegrować się z Hadoop i zrzucać nieustrukturyzowane oraz częściowo ustrukturyzowane dane na HDFS, uzupełniając moc Hadoop. Właśnie dlatego Apache Flume jest ważną częścią ekosystemu Hadoop.
W tym samouczku na blogu Apache Flume omówimy:
- Wprowadzenie do Apache Flume
- Zalety Apache Flume
- Architektura Flume
- Przesyłanie strumieniowe danych z Twittera za pomocą Flume
Zaczniemy ten samouczek Flume od omówienia tego, czym jest Apache Flume. Idąc dalej, zrozumiemy zalety korzystania z Flume.
Samouczek Apache Flume: Wprowadzenie do Apache Flume
Apache Flume to narzędzie do pozyskiwania danych w HDFS. Zbiera, agreguje i przenosi duże ilości danych strumieniowych, takich jak pliki dziennika, zdarzenia z różnych źródeł, takich jak ruch sieciowy, media społecznościowe, wiadomości e-mail itp. Do HDFS.Flume to wysoce niezawodny i dystrybuowany.
Główną ideą projektu Flume jest przechwytywanie danych strumieniowych z różnych serwerów internetowych do HDFS. Ma prostą i elastyczną architekturę opartą na strumieniowych przepływach danych. Jest odporny na uszkodzenia i zapewnia mechanizm niezawodności dla odporności na awarie i odtwarzania po awarii.
Po zrozumieniu, czym jest Flume, przejdźmy teraz do tego bloga z samouczkami Flume i poznajmy zalety Apache Flume. Następnie, posuwając się naprzód, przyjrzymy się architekturze Flume i spróbujemy zrozumieć, jak ona działa.
samouczki Microsoft SQL Server dla początkujących
Samouczek Apache Flume: Zalety Apache Flume
Istnieje kilka zalet Apache Flume, co czyni go lepszym wyborem niż inne. Zalety to:
- Flume jest skalowalny, niezawodny, odporny na błędy i dostosowywalny do różnych źródeł i zlewów.
- Apache Flume może przechowywać dane w scentralizowanych sklepach (tj. Dane są dostarczane z jednego sklepu), takich jak HBase i HDFS.
- Flume jest skalowalny w poziomie.
- Jeśli szybkość odczytu przekracza szybkość zapisu, Flume zapewnia stały przepływ danych między operacjami odczytu i zapisu.
- Flume zapewnia niezawodne dostarczanie wiadomości. Transakcje w Flume są oparte na kanałach, gdzie dla każdej wiadomości są utrzymywane dwie transakcje (jeden nadawca i jeden odbiorca).
- Korzystając z Flume, możemy pozyskiwać dane z wielu serwerów do Hadoop.
- Daje nam rozwiązanie, które jest niezawodne i dystrybuowane oraz pomaga nam w zbieraniu, agregowaniu i przenoszeniu dużych ilości zbiorów danych, takich jak Facebook, Twitter i strony e-commerce.
- Pomaga nam w pozyskiwaniu danych strumieniowych online z różnych źródeł, takich jak ruch sieciowy, media społecznościowe, wiadomości e-mail, pliki dziennika itp. W HDFS.
- Obsługuje duży zestaw typów źródeł i miejsc docelowych.
Architektura to taka, która zapewnia Apache Flume te korzyści. Teraz, gdy znamy zalety Apache Flume, przejdźmy do przodu i zrozummy architekturę Apache Flume.
Samouczek Apache Flume: Architektura Flume
Teraz zrozummy architekturę Flume z poniższego diagramu:
Istnieje agent Flume, który pobiera dane strumieniowe z różnych źródeł danych do HDFS. Z diagramu można łatwo zrozumieć, że serwer WWW wskazuje źródło danych. Twitter jest jednym ze znanych źródeł przesyłania strumieniowego danych.
Środek do spłukiwania ma 3 składniki: źródło, zlew i kanał.
- Źródło : Przyjmuje dane z przychodzącego strumienia i przechowuje dane w kanale.
- Kanał : Ogólnie szybkość czytania jest większa niż prędkość pisania. Dlatego potrzebujemy trochę bufora, aby dopasować różnicę prędkości odczytu i zapisu. Zasadniczo bufor działa jako magazyn pośredniczący, który tymczasowo przechowuje przesyłane dane, a tym samym zapobiega utracie danych. Podobnie kanał działa jako pamięć lokalna lub tymczasowa między źródłem danych a danymi trwałymi w HDFS.
- Tonąć : Następnie nasz ostatni komponent, tj.Sink, zbiera dane z kanału i zatwierdza lub zapisuje dane na stałe w HDFS.
Teraz, gdy wiemy, jak działa Apache Flume, przyjrzyjmy się praktycznemu, w którym będziemy gromadzić dane z Twittera i przechowywać je w HDFS.
Samouczek Apache Flume: Przesyłanie strumieniowe danych z Twittera
W tym przykładzie będziemy przesyłać strumieniowo dane z Twittera za pomocą Flume, a następnie przechowywać dane w formacie HDFS, jak pokazano na poniższym obrazku.
Pierwszym krokiem jest stworzenie aplikacji na Twitterze. W tym celu musisz najpierw przejść do tego adresu URL: https://apps.twitter.com/ i zaloguj się na swoje konto na Twitterze. Przejdź do zakładki tworzenia aplikacji, jak pokazano na poniższym obrazku.
Następnie utwórz aplikację, jak pokazano na poniższym obrazku.
Po utworzeniu tej aplikacji znajdziesz token Key & Access. Skopiuj klucz i token dostępu. Przekażemy te tokeny w naszym pliku konfiguracyjnym Flume, aby połączyć się z tą aplikacją.
Teraz utwórz plik flume.conf w katalogu głównym flume, jak pokazano na poniższej ilustracji. Jak już wspomnieliśmy, w architekturze Flume skonfigurujemy źródło, ujście i kanał. Naszym źródłem jest Twitter, skąd przesyłamy dane, a nasz Sink to HDFS, gdzie zapisujemy dane.
W konfiguracji źródła przekazujemy typ źródła Twittera jako org.apache.flume.source.twitter.TwitterSource. Następnie przekazujemy wszystkie cztery tokeny, które otrzymaliśmy z Twittera. Na koniec w konfiguracji źródła przekazujemy słowa kluczowe, na podstawie których będziemy pobierać tweety.
W konfiguracji Sink mamy zamiar skonfigurować właściwości HDFS. Ustawimy ścieżkę HDFS, format zapisu, typ pliku, rozmiar wsadu itp. Na koniec ustawimy kanał pamięci, jak pokazano na poniższym obrazku.
Teraz wszyscy jesteśmy gotowi do wykonania. Przejdźmy dalej i wykonajmy to polecenie:
$ FLUME_HOME / bin / flume-ng agent --conf ./conf/ -f $ FLUME_HOME / flume.conf
Po wykonaniu tego polecenia przez chwilę, a następnie możesz wyjść z terminala za pomocą CTRL + C. Następnie możesz przejść dalej w katalogu Hadoop i sprawdzić wspomnianą ścieżkę, czy plik został utworzony, czy nie.
sortuj tablicę c ++ malejąco
Pobierz plik i otwórz go. Otrzymasz coś, jak pokazano na poniższym obrazku.
Mam nadzieję, że ten blog zawiera wiele informacji i jest dla Ciebie wartością dodaną. Jeśli chcesz dowiedzieć się więcej, możesz przejść przez to który mówi o Big Data i jak Hadoop rozwiązuje wyzwania związane z Big Data.
Teraz, gdy zrozumiałeś Apache Flume, sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie Edureka Big Data Hadoop Certification Training pomaga uczniom stać się ekspertami w dziedzinie HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume i Sqoop, wykorzystując przypadki użycia w czasie rzeczywistym w domenie handlu detalicznego, mediów społecznościowych, lotnictwa, turystyki, finansów.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą.