[Спарк Streaming] (а) Устройство и принцип работы

I. Введение

Искра потоковая потоковая является высокой пропускной способностью системы, поток данных в реальном масштабе времени отказоустойчивым может быть множеством источников данных (например, Кафка, Flume, Twitter, Ноль и TCP сокеты) похожа на карту, уменьшить и присоединиться как сложная операция, и сохранить результаты в качестве внешней файловой системы, базы данных или приложений в режиме реального времени приборных панели.

Это основа является расширением ядра Спарк API, можно добиться высокой пропускной способности, отказоустойчивые в режиме реального времени потоковое обработки данных механизма.

Он поддерживает множество источников данных для получения данных:

Here Вставка рисунка Описание
Свеча потокового приема в реальном масштабе времени входных данных из различных источников Кафка, Flume, HDFS и т.д., после обработки, сохраняются в HDFS обработки структуры,

База данных и других местах.

Сводки : графический интерфейс мониторинга, Спарк Streaming могут быть выведены на первой странице мониторинга.

Во-вторых, архитектура обработки потока

Here Вставка рисунка Описание

三, Micro-Batch Архитектура

Спарк обработка массива данных (данные форума), Спарк ПОТОКОВАЯ фактически рассматриваться не как Строма в качестве обработки данных, внешний потока данных , но после стыковки сегментации по времени, пакетный файл по одной сегментации и логика обработки Спарк одно и то же.

Искра Streaming получила в реальное время потоковых данных, в соответствии с определенным временным интервалом, разделив данные, Спарк двигателя двигателя, результаты партии , наконец , получили.

Here Вставка рисунка Описание

DSTREAM : потоковое обеспечивает представление искрового непрерывного потока данных, упоминается как весьма абстрактной DSTREAM дискретного потока.

Если приток внешних данных, в соответствии с одной минуты секциями, внутри каждых из-минутных данных непрерывно (непрерывный поток данных), и одну минуты и одну минуты это независимые секции (дискретный поток).

  • DStream определенного типа данных Спарк Streaming

  • Искра 2.3.1 Старт 1 Задержка миллисекунды (около 100 миллисекунд до того )

  • Каждый микро-партия является РДД - можно разделить код между партией и потокового

В-четвертых, принцип работы

4,1 Streaming Context

Потоковый контекст потребляет поток данных в Спарк.

from pyspark import SparkContext
from pyspark.streaming import StreamingContext

# Create a local StreamingContext with two working threads and a batch interval of 2 seconds
# local[2] – spark executor runs on 2 cores.

sc = StreamingContext( SparkContext("local[2]", "NetWordCount"), 2 )

# ….
sc.start()

Here Вставка рисунка Описание

  • JVM может только активировать StreamingContext.
  • StreamingContext не быть перезапущен после остановки, но может быть воссоздан.

4,2 DStream

DStream серии последовательного дискретного состава потока RDD , каждый РДД содержит данные , определенные в пределах временного интервала:

Here Вставка рисунка Описание
Искра RDD может быть понято как пространственные размеры, Dstream ДРР понимается на пространственное измерение добавил измерение времени .

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

# Create a local StreamingContext with two working threads and a batch interval of 2 seconds

sc = StreamingContext( SparkContext("local[2]", "NetWordCount"), 2 )
lines = ssc.socketTextStream("localhost", 3333) # Create a DStream
words = lines.flatMap(lambda line: line.split(" ")) # Split each line into words
pairs = words.map(lambda word: (word, 1)) # Count each word in each batch
wordCounts = pairs.reduceByKey(lambda x, y: x + y)

ssc.start() # Start the computation
ssc.awaitTermination() # Wait for the computation to terminate

Свечи и свеча Streaming разницы:

Spark -> EET: действие преобразования + EET DAG

Потоковая искра -> DSTREAM: Преобразование выход (не допускает активацию промежуточных данных, входные данные должны гарантировать , что выходной сигнал) + DStreamGraph

Любой из операций преобразуются в DStream, лежащие в основе работы RDD (через оператора):

Here Вставка рисунка Описание
Резюме: Непрерывное сохранение данных, дискретная и пакетная обработка.

  • Постоянство: полученные данные временно сохраняются.

Почему настойчивость: сделать отказоустойчивость, когда данные из неправы, потому что нет никаких расчетов, данные должны быть обратно на источник, временное хранение данных может быть восстановлена.

  • Дискретизация: квант времени, формируется блок обработки.

Фрагмент обработки: периодический процесс.

4.3 Входные DStreams и ресиверы

  • Входные DStreams представляют собой поток входных данных, полученных от потоковых источников.
  • Каждый вход DStream (за исключением файлового потока) получает боковой объект, связанный с приемником и приема данных объекта, полученные от источника обработки сохраняется в памяти Спарк.
  • Вы можете создать несколько DStreams ввода в том же StreamingContext

Here Вставка рисунка Описание

Пять, операция DStream

1.1 нормальная операция переключения : карта, flatMap, flter, объединение , граф, присоединиться и т.д.

1.2 преобразование (FUNC) Операция: На DStream позволяет любой прикладной функции РДД-к-РДД

1.3 updateStateByKey операции:

Окно операции переключения 1.4: позволяет преобразовать, например, countByWindow, reduceByKeyAndWindow с другом с помощью скользящего окна данных, (пакетные интервалы, и скользящего окна интервала интервала)

2. Выходной Операция : DStream позволяет использовать данные выводятся во внешнюю систему, такую как система базы данных или файла, с печатью (), foreachRDD (Func) , saveAsTextFiles (), saveAsHadoopFiles () и т.д.

3. Стойкость : Метод сохраняется ( и ) данные потока , хранящаяся в памяти, что позволяет эффективно итеративный расчет

Шесть, Спарк Streaming Architecture

Here Вставка рисунка Описание
Мастер : Записьзависимости от отношения или родства между Dstream, и отвечает за планирование задач для создания нового RDD

Работник : прием данных из сети, хранения и выполнять вычисления RDD

Клиент : ответственность за данные наливают в СПАРК Streaming

Планирование: срабатывает по времени.

Master : поддерживает DStream Graph эту картину. (Не уровень узла, является задачей уровня)

Работник : выполнять в соответствии со схемой.

Работник, который играет важную роль: приемник, получение внешнего потока данных, поток данных затем проходит через всю внутреннюю Спарк Потоковый приемник (приемник упакован в окончательный формат потока данных может обрабатывать Спарк Streaming)

Приемник : Приемник принимает различные источники данных, целевое приобретение, Спарк Потокового также обеспечивает способ различных приемникираспределенные на разных узлах, каждый приемник является специфическим, каждый узел принимает как часть вход. , Приемник не принимает полный расчет сразу, прежде чем она хранится во внутреннем буфере. Потоковая передача происходит потомучтосоответствии с постоянной времени нарезки, нужно ждать после, как истечет таймер, буфер будет преобразовывать данные в блоки данныхблок (буфер действия: определенные пользователем интервалы времени резки), то данные блок в очередьчтобы войти внутрь,затем блокировать блок менеджер данных из очереди, чтобы преобразовать блоки данных в блоки данных искры может обрабатывать.

Почему это процесс?

контейнер -> Executor это процесс

Спарк Streaming представления задания:

• Network Input Tracker: отслеживание каждая сеть получает данные, и отображает его на соответствующий вход Dstream

• Планировщик работы: периодическое посещение DStream Graph и создает искровой работу, менеджер Работа для его выполнения

• Диспетчер заданий: Получает очереди заданий, а также выполнять задачи Спарк

Спарк Streaming работы окна:

• Свеча обеспечивает набор операций в окне, статистический анализ крупномасштабных данных дополнительных обновлений через раздвижной оконной техники

• Окно Операция: Сроки обработки данных определенного периода времени

Here Вставка рисунка Описание

Любая потребность указать операционное окно на основе двух параметров :

  • Общая длина окна (длина окна): Вы хотите, чтобы вычислить, как долго данные

  • Скользящий интервал времени (слайд интервал): Как долго вы будете идти обновлять каждый раз, когда

Семь, делать то, что Спарк Streaming

На данный момент SparkStreaming поддерживает следующие три основных бизнес-сценариев

1, лицо без операции: касается только в режиме реального времени данных в текущем пакете, например:

  • Возможности заголовки, классификация HTTP запрос конец -> Кафка -> Streaming Спарк -> HTTP запрос конец карты -> Результаты ответов
  • Nginx доступа журналы библиотечному сети, flume-> Кафка -> Свечи Streaming -> улей / HDFS
  • Синхронизация данных, данные ведущей станции через сетевой библиотеки «Мастер» -> kafka-> Свечи Streaming -> улья / HDFS

2, с сохранением состояния операция: Когда DStream с сохранением состояния операция, данные перед необходимостью полагаться на небольших партиях данных в дополнении к текущему новому поколению, но и нужно использовать все исторические данные, ранее сгенерированных. Вновь сгенерированные данные с историческими данными объединены в таблицу воды полного объема данных, такие как:

  • Статистика в реальное время чистых общих библиотеки посещений каждого сайта
  • Общее количество просмотров статистика в реальном времени для каждой сетевой библиотеки товаров, объем торгов, оборот

3, окно операции: выбор времени данных в течение определенного периода времени диапазона DStream работы, например:

  • Вредоносный доступ мастер сетевой библиотеки, рептилии, статистика каждые 10 минут в течение 30 минут самых посещаемых пользователей
Опубликовано 345 оригинальные статьи · вона похвала 456 · просмотров 270 000 +

рекомендация

отblog.csdn.net/BeiisBei/article/details/105053482