Введение
Используя Azure HDInsight с Apache Kafka и Apache Spark, вы можете создавать конвейеры и приложения для потоковой обработки данных в режиме реального времени в облаке.
Apache Kafka — это распределенная система обмена сообщениями, которая принимает входящие потоковые данные из нескольких систем и делает их доступными для других приложений в режиме реального времени. Принцип работы Apache Kafka заключается в создании очереди упорядоченных данных и последующей репликации данных между несколькими компьютерами, чтобы исключить возникновение единой точки отказа и сделать данные доступными для так называемых производителей или потребителей. Производители — это клиенты, которые создают сообщения и добавляют их в очередь Kafka, а потребители получают сообщения на основе своих подписок.
Apache Spark — это система параллельной обработки, которая позволяет получать данные из таких систем, как Apache Kafka, а затем преобразовывать данные и реагировать на них. Apache Kafka позволяет использовать и сохранять данные, а Apache Spark — изменять и обрабатывать их. При совместном использовании Spark может принимать небольшие пакеты или непрерывные потоки данных из Kafka и обрабатывать их в режиме реального времени, используя то, что называется структурированной потоковой передачей. Когда компании реализуют структурированную потоковую передачу, они могут использовать единую архитектуру для обработки пакетных данных, потоковой передачи данных в режиме реального времени или сочетания этих двух процессов. Благодаря этому компании могут модернизировать свои приложения по мере их перехода от пакетной обработки к обработке в режиме реального времени без необходимости изучать или реализовывать разные платформы.
Используя Apache Kafka и Apache Spark в Azure HDInsight, вы можете создать такую архитектуру за несколько минут и воспользоваться преимуществами масштабируемости и высокой доступности поставщика облачных служб. Это также позволяет компаниям, у которых имеются локальные приложения Kafka и Spark, упростить перенос эти рабочих нагрузок в облако.
Вы являетесь инженером данных в банковской отрасли, и вам необходима возможность начать обработку входящих потоковых и пакетных данных с очень низкой задержкой. Вы считаете, что Apache Spark и Apache Kafka как раз подходят для этого.
Цели обучения
Темы этого модуля
- Использование HDInsight
- Потоковая передача данных с помощью Apache Kafka
- Описание структурированной потоковой передачи Spark
- Создание архитектуры Kafka Spark
- Подготовка HDInsight для выполнения преобразований данных
- Создание производителя Kafka
- Потоковая передача данных Kafka в Jupyter Notebook
- Репликация данных во вторичный кластер