Статья Каталог
I. Введение
Искра потоковая потоковая является высокой пропускной способностью системы, поток данных в реальном масштабе времени отказоустойчивым может быть множеством источников данных (например, Кафка, Flume, Twitter, Ноль и TCP сокеты) похожа на карту, уменьшить и присоединиться как сложная операция, и сохранить результаты в качестве внешней файловой системы, базы данных или приложений в режиме реального времени приборных панели.
Это основа является расширением ядра Спарк API, можно добиться высокой пропускной способности, отказоустойчивые в режиме реального времени потоковое обработки данных механизма.
Он поддерживает множество источников данных для получения данных:
Свеча потокового приема в реальном масштабе времени входных данных из различных источников Кафка, Flume, HDFS и т.д., после обработки, сохраняются в HDFS обработки структуры,
База данных и других местах.
Сводки : графический интерфейс мониторинга, Спарк Streaming могут быть выведены на первой странице мониторинга.
Во-вторых, архитектура обработки потока
三, Micro-Batch Архитектура
Спарк обработка массива данных (данные форума), Спарк ПОТОКОВАЯ фактически рассматриваться не как Строма в качестве обработки данных, внешний потока данных , но после стыковки сегментации по времени, пакетный файл по одной сегментации и логика обработки Спарк одно и то же.
Искра Streaming получила в реальное время потоковых данных, в соответствии с определенным временным интервалом, разделив данные, Спарк двигателя двигателя, результаты партии , наконец , получили.
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()
- JVM может только активировать StreamingContext.
- StreamingContext не быть перезапущен после остановки, но может быть воссоздан.
4,2 DStream
DStream серии последовательного дискретного состава потока RDD , каждый РДД содержит данные , определенные в пределах временного интервала:
Искра 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 (через оператора):
Резюме: Непрерывное сохранение данных, дискретная и пакетная обработка.
- Постоянство: полученные данные временно сохраняются.
Почему настойчивость: сделать отказоустойчивость, когда данные из неправы, потому что нет никаких расчетов, данные должны быть обратно на источник, временное хранение данных может быть восстановлена.
- Дискретизация: квант времени, формируется блок обработки.
Фрагмент обработки: периодический процесс.
4.3 Входные DStreams и ресиверы
- Входные DStreams представляют собой поток входных данных, полученных от потоковых источников.
- Каждый вход DStream (за исключением файлового потока) получает боковой объект, связанный с приемником и приема данных объекта, полученные от источника обработки сохраняется в памяти Спарк.
- Вы можете создать несколько DStreams ввода в том же StreamingContext
Пять, операция 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
Мастер : Записьзависимости от отношения или родства между Dstream, и отвечает за планирование задач для создания нового RDD
Работник : прием данных из сети, хранения и выполнять вычисления RDD
Клиент : ответственность за данные наливают в СПАРК Streaming
Планирование: срабатывает по времени.
Master : поддерживает DStream Graph эту картину. (Не уровень узла, является задачей уровня)
Работник : выполнять в соответствии со схемой.
Работник, который играет важную роль: приемник, получение внешнего потока данных, поток данных затем проходит через всю внутреннюю Спарк Потоковый приемник (приемник упакован в окончательный формат потока данных может обрабатывать Спарк Streaming)
Приемник : Приемник принимает различные источники данных, целевое приобретение, Спарк Потокового также обеспечивает способ различных приемникираспределенные на разных узлах, каждый приемник является специфическим, каждый узел принимает как часть вход. , Приемник не принимает полный расчет сразу, прежде чем она хранится во внутреннем буфере. Потоковая передача происходит потомучтосоответствии с постоянной времени нарезки, нужно ждать после, как истечет таймер, буфер будет преобразовывать данные в блоки данныхблок (буфер действия: определенные пользователем интервалы времени резки), то данные блок в очередьчтобы войти внутрь,затем блокировать блок менеджер данных из очереди, чтобы преобразовать блоки данных в блоки данных искры может обрабатывать.
Почему это процесс?
контейнер -> Executor это процесс
Спарк Streaming представления задания:
• Network Input Tracker: отслеживание каждая сеть получает данные, и отображает его на соответствующий вход Dstream
• Планировщик работы: периодическое посещение DStream Graph и создает искровой работу, менеджер Работа для его выполнения
• Диспетчер заданий: Получает очереди заданий, а также выполнять задачи Спарк
Спарк Streaming работы окна:
• Свеча обеспечивает набор операций в окне, статистический анализ крупномасштабных данных дополнительных обновлений через раздвижной оконной техники
• Окно Операция: Сроки обработки данных определенного периода времени
Любая потребность указать операционное окно на основе двух параметров :
-
Общая длина окна (длина окна): Вы хотите, чтобы вычислить, как долго данные
-
Скользящий интервал времени (слайд интервал): Как долго вы будете идти обновлять каждый раз, когда
Семь, делать то, что Спарк Streaming
На данный момент SparkStreaming поддерживает следующие три основных бизнес-сценариев
1, лицо без операции: касается только в режиме реального времени данных в текущем пакете, например:
- Возможности заголовки, классификация HTTP запрос конец -> Кафка -> Streaming Спарк -> HTTP запрос конец карты -> Результаты ответов
- Nginx доступа журналы библиотечному сети, flume-> Кафка -> Свечи Streaming -> улей / HDFS
- Синхронизация данных, данные ведущей станции через сетевой библиотеки «Мастер» -> kafka-> Свечи Streaming -> улья / HDFS
2, с сохранением состояния операция: Когда DStream с сохранением состояния операция, данные перед необходимостью полагаться на небольших партиях данных в дополнении к текущему новому поколению, но и нужно использовать все исторические данные, ранее сгенерированных. Вновь сгенерированные данные с историческими данными объединены в таблицу воды полного объема данных, такие как:
- Статистика в реальное время чистых общих библиотеки посещений каждого сайта
- Общее количество просмотров статистика в реальном времени для каждой сетевой библиотеки товаров, объем торгов, оборот
3, окно операции: выбор времени данных в течение определенного периода времени диапазона DStream работы, например:
- Вредоносный доступ мастер сетевой библиотеки, рептилии, статистика каждые 10 минут в течение 30 минут самых посещаемых пользователей