Учебное пособие по Apache Flume: потоковая передача данных Twitter

В этом учебном блоге Apache Flume объясняются основы Apache Flume и его функции. Он также продемонстрирует потоковую передачу Twitter с использованием Apache Flume.

В этом учебном блоге Apache Flume мы поймем, как Flume помогает в потоковой передаче данных из различных источников. Но перед этим давайте поймем важность приема данных. Прием данных - это начальный и важный шаг для обработки и анализа данных, а затем извлечения из них бизнес-ценности. Существует несколько источников, из которых собираются данные в организации.



Давайте поговорим об еще одной важной причине, по которой Flume стал таким популярным. Надеюсь, вы знакомы с , который широко используется в отрасли, поскольку может хранить все виды данных. Flume может легко интегрироваться с Hadoop и выгружать неструктурированные, а также полуструктурированные данные в HDFS, дополняя возможности Hadoop. Вот почему Apache Flume является важной частью экосистемы Hadoop.



В этом учебном блоге Apache Flume мы расскажем:



Мы начнем это руководство по Flume с обсуждения того, что такое Apache Flume. Затем, забегая вперед, мы поймем преимущества использования Flume.

Учебное пособие по Apache Flume: Введение в Apache Flume

Логотип Apache Flume - Учебное пособие по Apache Flume - EdurekaApache Flume - это инструмент для приема данных в HDFS. Он собирает, объединяет и транспортирует большой объем потоковых данных, таких как файлы журналов, события из различных источников, таких как сетевой трафик, социальные сети, сообщения электронной почты и т. Д., В HDFS.Flume - очень надежный и распространенный.

Основная идея дизайна Flume - захват потоковых данных с различных веб-серверов в HDFS. Он имеет простую и гибкую архитектуру, основанную на потоковых потоках данных. Он отказоустойчив и обеспечивает механизм надежности для отказоустойчивости и восстановления после сбоев.



Поняв, что такое Flume, теперь давайте продвинемся в этом блоге с учебником по Flume и поймем преимущества Apache Flume. Затем, забегая вперед, мы рассмотрим архитектуру Flume и попытаемся понять, как она работает в основном.

есть-а и имеет-отношения в Java

Учебное пособие по Apache Flume: Преимущества Apache Flume

У Apache Flume есть несколько преимуществ, которые делают его лучшим выбором по сравнению с другими. Преимущества:

  • Flume масштабируемый, надежный, отказоустойчивый и настраиваемый для различных источников и приемников.
  • Apache Flume может хранить данные в централизованных хранилищах (т. Е. Данные поступают из одного хранилища), таких как HBase и HDFS.
  • Flume масштабируется по горизонтали.
  • Если скорость чтения превышает скорость записи, Flume обеспечивает постоянный поток данных между операциями чтения и записи.
  • Flume обеспечивает надежную доставку сообщений. Транзакции в Flume основаны на каналах, где для каждого сообщения поддерживаются две транзакции (один отправитель и один получатель).
  • Используя Flume, мы можем принимать данные с нескольких серверов в Hadoop.
  • Это дает нам надежное и распределенное решение, которое помогает нам собирать, агрегировать и перемещать большие объемы данных, такие как Facebook, Twitter и веб-сайты электронной коммерции.
  • Это помогает нам принимать потоковые данные онлайн из различных источников, таких как сетевой трафик, социальные сети, сообщения электронной почты, файлы журналов и т. Д. В HDFS.
  • Он поддерживает большой набор типов источников и мест назначения.

Архитектура - это та, которая наделяет Apache Flume этими преимуществами. Теперь, когда мы знаем преимущества Apache Flume, давайте продвинемся вперед и разберемся с архитектурой Apache Flume.

Учебное пособие по Apache Flume: Архитектура Flume

Теперь давайте разберемся с архитектурой Flume на диаграмме ниже:

Существует агент Flume, который загружает потоковые данные из различных источников в HDFS. Из диаграммы легко понять, что веб-сервер указывает источник данных. Twitter - один из самых известных источников потоковой передачи данных.

Возбудитель состоит из 3 компонентов: источника, стока и канала.

    1. Источник : Он принимает данные из входящей линии потока и сохраняет данные в канале.
    2. Канал : В целом скорость чтения выше скорости записи. Таким образом, нам нужен буфер, чтобы соответствовать разнице в скорости чтения и записи. По сути, буфер действует как промежуточное хранилище, в котором временно хранятся передаваемые данные, что предотвращает потерю данных. Точно так же канал действует как локальное хранилище или временное хранилище между источником данных и постоянными данными в HDFS.
    3. Раковина : Затем наш последний компонент, то есть Sink, собирает данные из канала и постоянно фиксирует или записывает данные в HDFS.

Теперь, когда мы знаем, как работает Apache Flume, давайте взглянем на практический пример, в котором мы будем загружать данные Twitter и сохранять их в HDFS.

Учебное пособие по Apache Flume: потоковая передача данных Twitter

В этом практическом случае мы будем передавать данные из Twitter с помощью Flume, а затем сохранять данные в HDFS, как показано на изображении ниже.

Первый шаг - создать приложение Twitter. Для этого вам сначала нужно перейти по этому URL: https://apps.twitter.com/ и войдите в свою учетную запись Twitter. Перейдите на вкладку создания приложения, как показано на изображении ниже.

Затем создайте приложение, как показано на изображении ниже.

После создания этого приложения вы найдете ключ и токен доступа. Скопируйте ключ и токен доступа. Мы передадим эти токены в наш файл конфигурации Flume для подключения к этому приложению.

Теперь создайте файл flume.conf в корневом каталоге потока, как показано на изображении ниже. Как мы уже говорили, в архитектуре Flume мы настроим наш источник, приемник и канал. Наш источник - это Twitter, откуда мы передаем данные, а наш приемник - это HDFS, куда мы записываем данные.

В исходной конфигурации мы передаем тип источника Twitter как org.apache.flume.source.twitter.TwitterSource. Затем мы передаем все четыре токена, полученные от Twitter. Наконец, в исходной конфигурации мы передаем ключевые слова, по которым мы собираемся получать твиты.

В конфигурации Sink мы собираемся настроить свойства HDFS. Мы установим путь HDFS, формат записи, тип файла, размер пакета и т. Д. Наконец, мы собираемся установить канал памяти, как показано на изображении ниже.

Теперь все готово к казни. Давайте продолжим и выполним эту команду:

$ FLUME_HOME / bin / flume-ng агент --conf ./conf/ -f $ FLUME_HOME / flume.conf

Выполнив эту команду некоторое время, вы можете выйти из терминала с помощью CTRL + C. Затем вы можете перейти в каталог Hadoop и проверить указанный путь, независимо от того, создан файл или нет.

тип преобразования в информатике

Загрузите файл и откройте его. Вы получите что-то, как показано на изображении ниже.

Я надеюсь, что этот блог будет информативным и принесет вам дополнительную пользу. Если вам интересно узнать больше, вы можете пройти через это в котором рассказывается о больших данных и о том, как Hadoop решает проблемы, связанные с большими данными.

Теперь, когда вы разобрались с Apache Flume, ознакомьтесь с от Edureka, надежной компании онлайн-обучения с сетью из более чем 250 000 довольных учащихся по всему миру. Учебный курс Edureka Big Data Hadoop Certification Training помогает учащимся стать экспертами в области HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume и Sqoop, используя примеры использования в реальном времени в области розничной торговли, социальных сетей, авиации, туризма, финансов.

Есть вопрос к нам? Пожалуйста, укажите это в комментариях, и мы свяжемся с вами.