Введение в Spark Streaming
Apache Spark Streaming является одним из основных компонентов Apache Spark, который представляет собой утилиту обработки данных в реальном времени, которая используется для потоковой передачи данных в режиме реального времени, в отличие от традиционных пакетных заданий Hadoop, которые вместо этого использовались для запуска пакетных заданий. потоковой передачи данных в режиме реального времени. Он использует возможности быстрого планирования ядра Spark для выполнения быстрой аналитики потоковой передачи искры, которая, по существу, включает в себя прием данных в виде микро- и мини-пакетов для выполнения преобразований RDD для этих наборов данных в конкретный период окна. Поток Apache Spark предназначен для использования во многих восходящих потоках, таким образом завершая конвейер, такой как Apache Kafka, Flume, RabbitMQ, ZeroMQ, Kinesis, сокеты TCP / IP, Twitter и т. Д. Структурированные наборы данных, доступные в Spark 2. Х + версии используются для структурированной потоковой передачи.
Как работает Spark Streaming?
- В случае Spark Streaming потоки данных делятся на фиксированные пакеты, также называемые DStreams, которые внутренне представляют собой последовательность фиксированного типа из числа RDD. Поэтому RDD обрабатываются с использованием API Spark, и возвращаемые результаты, следовательно, в пакетном режиме. Дискретизированные потоковые операции, которые являются либо преобразованиями с состоянием, либо преобразованием без состояния, также включают в себя операции вывода, операции ввода DStream, а также приемники. Эти потоки являются базовым уровнем абстракции, предоставляемым потоковой передачей Apache Spark, которая является непрерывным потоком RDD Spark.
- Он также обеспечивает возможности отказоустойчивости, которые можно использовать для потоков Dstream, очень похожих на RDD, при условии, что копия данных доступна, и, следовательно, любое состояние может быть пересчитано или возвращено в исходное состояние с использованием графа линий Spark над набор СДР. Здесь следует подумать о том, что потоки Dstream используются для перевода базовых операций с их базовым набором RDD. Эти преобразования, основанные на RDD, выполняются и вычисляются Spark Engine. Операции Dstream используются для предоставления базового уровня детализации и предоставления разработчику высокого уровня API для целей разработки.
Преимущества Spark Streaming
Существуют различные причины, по которым использование потоковой передачи Spark является дополнительным преимуществом. Мы обсудим некоторые из них в нашем посте здесь.
- Унификация потоковых, пакетных и интерактивных рабочих нагрузок . Наборы данных можно легко интегрировать и использовать с любыми рабочими нагрузками, которые никогда не были простыми в непрерывных системах, и поэтому они служат в качестве единого механизма.
- Продвинутый уровень аналитики наряду с машинным обучением и SQL-запросами. Когда вы работаете со сложными рабочими нагрузками, всегда требуется непрерывное обучение, а также обновленные модели данных. Лучшая часть этого компонента Spark заключается в том, что он легко интегрируется с MLib или любой другой специальной библиотекой машинного обучения.
- Быстрый сбой, а также восстановление после отставания: восстановление после сбоя и отказоустойчивость - одна из основных основных функций, доступных в потоковой передаче Spark.
- Балансировка нагрузки: узкие места часто возникают между системами из-за неравномерных нагрузок и балансировок, которые выполняются, и поэтому становится совершенно необходимым равномерно распределять нагрузку, которая автоматически обрабатывается этим компонентом Spark.
- Производительность: благодаря своей технологии вычислений в памяти, которая использует внутреннюю память больше, чем внешний жесткий диск, производительность Spark очень хорошая и эффективная по сравнению с другими системами Hadoop.
Spark Streaming Operations
1) Операции преобразования при потоковой передаче Spark: точно так же, как данные преобразуются из набора RDD, здесь также данные преобразуются из DStreams, и он предлагает множество преобразований, которые доступны в обычных RDD Spark. Некоторые из них:
- Map (): используется для возврата новой формы Dstream, когда каждый элемент проходит через функцию.
Например, data.map (line => (line, line.count)) - flatMap (): это похоже на карту, но каждый элемент сопоставлен с 0 или более сопоставленными единицами.
Пример, data.flatMap (lines => lines.split (”“)) - filter (): этот используется для возврата нового набора Dstream, возвращая записи, которые отфильтрованы для нашего использования.
Пример, фильтр (значение => значение == «искра») - Union (): используется для возврата нового набора Dstream, который состоит из данных, объединенных из входных Dstream и других Dstream.
Пример, Dstream1.union (Dstream2) .union (Dstream3)
2) Обновление состояния по ключевой операции
Это позволяет вам поддерживать произвольное состояние, даже когда оно постоянно обновляет его новой информацией. Вам потребуется определить состояние, которое может иметь произвольный тип, и определить функцию обновления состояния, которая означает указание состояния с использованием предыдущего состояния, а также использование новых значений из входного потока. В каждой пакетной системе искра будет применять одну и ту же функцию обновления состояния для всех преобладающих ключей.
Пример:
Функция обновления по умолчанию (NV, RC):
если RC отсутствует
RC = 0
возвращаемая сумма (NV, RC) #Nv - новые значения, а RC - счетчик
Вывод
Spark Streaming - одна из наиболее эффективных систем для построения реального конвейера потокового типа, и, следовательно, она используется для преодоления всех проблем, возникающих при использовании традиционных систем и методов. Поэтому все разработчики, которые учатся прокладывать себе путь к компоненту потоковой передачи искры, встали на самую правильную единственную точку платформы, которую можно использовать для удовлетворения всех потребностей развития. Поэтому мы можем с уверенностью сказать, что его использование повышает производительность и производительность в проектах и компаниях, которые пытаются или с нетерпением ждут использования экосистемы больших данных. Надеюсь, вам понравилась наша статья. Оставайтесь с нами для других статей, как эти.
Рекомендуемые статьи
Это руководство по Spark Streaming. Здесь мы обсуждаем введение в Spark Streaming, его работу, а также Преимущества и Примеры. Вы также можете просмотреть наши другие соответствующие статьи -
- Что такое Hadoop Streaming?
- Спарк Команды
- Учебники о том, как установить Spark
- Разница между Hadoop и Spark
- Spark DataFrame | преимущества
- Топ 6 компонентов искры