Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[JBreak-2018] Это кто там твитить про #jbreak?

[JBreak-2018] Это кто там твитить про #jbreak?

Что может быть интересней, чем построение систем конвейерной обработки данных (data pipelines)? Давайте разберём поток твитов прямо здесь, используя модные технологии — Apache Kafka, Kafka Connect и KSQL! Мы же все знаем и любим SQL, правда? Так вот, KSQL — это почти как SQL, только для Kafka. KSQL позволяет создавать сложные системы обработки потоковых данных, без написания Java или Scala (sick!) кода! Но самое интересное начнется тогда, когда в режиме реального времени, с помощью KSQL, мы будем обрабатывать ленту твитов и разберемся, кто больше всех твитит на конференции!

Viktor Gamov

March 04, 2018
Tweet

More Decks by Viktor Gamov

Other Decks in Programming

Transcript

  1. @ @gamussa @confluentinc Solutions Architect Developer Advocate @gamussa in internetz

    Ну подпишись, плиз… Ты кто такой? Давай…
  2. @ @gamussa @confluentinc Дисклеймер 1.Это не введение в кафки 2.Это

    не введение stream processing 3.В это зале люди знакомы С кафкой
  3. Аналогия с UNIX – системами Apache Kafka Connect API Kafka

    Streams / KSQL Connect API $ cat < in.txt | grep “ksql” | tr a-z A-Z > out.txt
  4. 26

  5. 29 Kafka Cluster JVM KSQL Server KSQL CLI #1 STAND-ALONE

    AKA ‘LOCAL MODE’ Как запускать?
  6. 30 JVM KSQL Server KSQL CLI JVM KSQL Server JVM

    KSQL Server Kafka Cluster #2 CLIENT-SERVER Как запускать?
  7. 31 Kafka Cluster JVM KSQL Server JVM KSQL Server JVM

    KSQL Server #3 AS A STANDALONE APPLICATION Как запускать?
  8. Когда лучше не брать KSQL? BI инструменты (Tableau и проч)

    •Нет индексов •Нет JDBC • BI инструменты не очень хорошо дружат с потоковыми результатами Традиционный SQL с конечным результатом •Ограничение на хранение данных в Kafka •Нет индексов
  9. Трейдоф • subscribe() • poll() • send() • flush() Consumer,

    Producer • filter() • join() • aggregate() Kafka Streams • Select…from… • Join…where… • Group by.. KSQL Гибкость Простота
  10. KSQL Kafka Streams Все знают SQL Кодить код не надо!

    Потоковая обработка для разработчиков SQL выражения Java или Scala код Стримы и таблицы KStream и KTable Да - KSQL кластер JVM Деплоим SQL запросы Деплоим Java как jar, war, контейнеры