Выполняйте потоковую передачу больших данных в реальном времени с помощью Spark и интегрируйте любой источник данных, от Kafka до Twitter.
Ничего статичного, все в движении.
Вы, наверное, уже знаете: Spark - самый популярный вычислительный движок для больших данных, самый обслуживаемый и с проверенным послужным списком производительности. Это в 100 раз быстрее, чем старая парадигма MapReduce, и ее можно легко расширить с помощью возможностей машинного обучения, потоковой передачи и многого другого.
В этом курсе мы сделаем естественный шаг вперед: будем обрабатывать большие данные по мере их поступления.
Что вас ждет:
- Вы узнаете, чем Spark Structured Streaming и «обычные» пакетные операции Spark похожи и отличаются друг от друга.
- Вы будете работать с новыми абстракциями потоковой передачи (DStreams) для низкоуровневой обработки с высоким уровнем контроля.
- Вы интегрируете Kafka, JDBC, Cassandra и Akka Streams (!), Чтобы впоследствии можно было интегрировать все, что вам нравится.
- Вы будете работать с мощными API с отслеживанием состояния, которые лишь немногие умеют правильно использовать.
И некоторые дополнительные льготы:
- У вас будет доступ ко всему коду, который я пишу на камеру (2200+ LOC)
- (скоро) У вас будет доступ к слайдам
Этот курс предназначен для программистов Scala и Spark, которым требуется обработка потоковых данных, а не разовая или пакетная обработка. Если вы никогда не изучали Scala или Spark, этот курс не для вас.
Проект 1: Twitter
В этом проекте мы будем интегрировать живые данные из Twitter. Мы создадим настраиваемый источник данных, который будем использовать со Spark, и проведем различные анализы: длину твитов, наиболее часто используемые хэштеги в режиме реального времени. Вы сможете использовать этот проект как образец для любого источника данных, который вы, возможно, захотите интегрировать. В самом конце мы воспользуемся библиотекой НЛП из Стэнфорда, чтобы провести анализ настроений в твитах и выяснить общее состояние социальных сетей.
Ты выучишь:
- как настроить собственный приемник данных, которым можно управлять самостоятельно и "извлекать" новые данные
- как создать DStream из вашего пользовательского кода
- как получить данные из Twitter
- как агрегировать твиты
- как использовать стэнфордскую библиотеку coreNLP для анализа настроений
- как применять анализ настроений к твитам в реальном времени
Проект 2: Научный проект
В этом проекте мы напишем полнофункциональное веб-приложение, которое будет поддерживать нескольких пользователей, являющихся объектами научного тестирования. Мы исследуем влияние алкоголя / веществ / insert_your_addictive_drug_like_Scala на рефлексы и время реакции. Мы отправим данные через веб-интерфейс, подключенный к конечной точке REST, затем данные будут проходить через брокера Kafka и, наконец, на серверную часть потоковой передачи Spark, которая будет обрабатывать данные. Вы можете использовать это приложение как образец для любого полнофункционального приложения, которое объединяет и обрабатывает данные с помощью Spark Streaming в реальном времени от любого числа одновременно работающих пользователей.
Ты выучишь:
- как настроить HTTP-сервер за считанные минуты с помощью Akka HTTP
- как вручную отправить данные через Kafka
- как агрегировать данные таким способом, который практически невозможно в SQL
- как написать полнофункциональное приложение с веб-интерфейсом, Akka HTTP, Kafka и Spark Streaming
Thank you.