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

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

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

0680be1c881abcf19219f09f1e8cf140?s=128

Viktor Gamov

March 04, 2018
Tweet

Transcript

  1. Это кто там твитит про #jbreak @gamussa

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

    Ну подпишись, плиз… Ты кто такой? Давай…
  3. None
  4. Маркетинг и тщеславие ©

  5. @ @gamussa @confluentinc Дисклеймер 1.Это не введение в кафки 2.Это

    не введение stream processing 3.В это зале люди знакомы С кафкой
  6. @ @gamussa @confluentinc

  7. @ @gamussa @confluentinc

  8. @ @gamussa @confluentinc Дисклеймер 1.Да, это маркетинг кафки 2.Да, это

    маркетинг stream processing
  9. @ @gamussa @confluentinc Продюсеры Консьюмеры

  10. @ @gamussa @confluentinc Что такое поточная обработка?

  11. Это когда пьешь прям из шланга

  12. Аналогия с UNIX – системами Apache Kafka Connect API Kafka

    Streams / KSQL Connect API $ cat < in.txt | grep “ksql” | tr a-z A-Z > out.txt
  13. декларативный поточных данных язык обработки KSQL это

  14. поточный для Apache Kafka SQL движок KSQL это

  15. 15 для начала, Базовые концепции KSQL

  16. 16 @gamussa @confluentinc Базовые абстракции БД - таблица Hadoop -

    файл Стримы -?
  17. Бревно (eng. Log)

  18. None
  19. 19 @gamussa @confluentinc Стримы превращаются в Таблицы

  20. 20 @gamussa @confluentinc Таблицы превращаются в стримы

  21. 21 @gamussa @confluentinc Одно превращается в друое

  22. 22 @gamussa @confluentinc Одно превращается в друое

  23. None
  24. 24 СТРИМЫ «-» ТАБЛИЦЫ

  25. None
  26. 26

  27. 27 @gamussa @confluentinc Kafka Connect

  28. 28 Чувак, а код-то где?

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

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

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

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

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

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

    Потоковая обработка для разработчиков SQL выражения Java или Scala код Стримы и таблицы KStream и KTable Да - KSQL кластер JVM Деплоим SQL запросы Деплоим Java как jar, war, контейнеры
  35. А дальше что? https://github.com/confluentinc/cp-demo http://confluent.io/ksql https://slackpass.io/confluentcommunity #ksql

  36. @ @gamussa @confluentinc Приходите к нам работать! https://www.confluent.io/careers/

  37. @ @gamussa @confluentinc Всем спасибо! Вопросы? @gamussa viktor@confluent.io https://www.confluent.io/careers/