サンプルの概要

ksqlDB の基礎

このチュートリアルでは、ksqlDB を使用して Apache Kafka® のメッセージに対するストリーミングクエリを作成する、単純なワークフローについて紹介します。

ksqlDB CLI でストリーミングクエリを作成する方法

                  ===========================================
                  =       _              _ ____  ____       =
                  =      | | _____  __ _| |  _ \| __ )      =
                  =      | |/ / __|/ _` | | | | |  _ \      =
                  =      |   <\__ \ (_| | | |_| | |_) |     =
                  =      |_|\_\___/\__, |_|____/|____/      =
                  =                   |_|                   =
                  =  Event Streaming Database purpose-built =
                  =        for stream processing apps       =
                  ===========================================

Copyright 2017-2021 Confluent Inc.

CLI v6.2.4, Server v6.2.4 located at http://localhost:8088
Server Status: RUNNING

Having trouble? Type 'help' (case-insensitive) for a rundown of how things work!

ksql>

ksqlDB CLI スタートガイド:

ksqlDB および Confluent Control Center でストリーミングクエリを作成する方法

../../_images/c3-ksql-query-table.png

ksqlDB および Confluent Control Center スタートガイド:

一般的なユースケース

ksqlDB を使用してこれらの一般的なユースケース向けのソリューションを実装します。

マテリアライズドビュー/キャッシュ

コールセンターへの電話について一連のマテリアライズドビューを作成し、クエリを実行します。このチュートリアルでは、MySQL データベースからの変更の取り込み、Kafka への転送、ksqlDB でのマテリアライズドビューの作成、アプリケーションからのクエリの実行について紹介します。

ストリーミング ETL のパイプライン

イベントを取り込んで結合し、出荷された注文の凝集的なビューを作成するストリーミング ETL パイプラインを作成します。このチュートリアルでは、Postgres および MongoDB データベースからの変更の取り込み、Kafka への転送、ksqlDB との結合、シンクおよび解析を目的とした ElasticSearch への出力について紹介します。

イベント駆動型マイクロサービス

疑わしいアクティビティを特定して顧客に通知するイベント駆動型マイクロサービスを作成します。このチュートリアルでは、ksqlDB による異常の検出と、SendGrid による単純な Kafka コンシューマーを使用したアラートメールの送信について紹介します。

Kafka チュートリアル

Kafka チュートリアル には、ステップごとの手順を示した ksqlDB チュートリアルが含まれています。

クリックストリームデータ分析パイプライン

クリックストリーム分析は、ウェブサイトの閲覧者がどのページをどの順序で閲覧したかについての集約データを収集、分析、レポートするプロセスです。ウェブサイト内での閲覧者の移動経路はクリックストリームと呼ばれます。

このチュートリアルは、以下を決定するためのユーザーのリアルタイム分析を構築することに重点を置いています。

  • アクセス数や閲覧者などの一般的なウェブサイト分析
  • 帯域幅使用
  • ユーザーの IP アドレスと実際のユーザーおよびその居住地とのマッピング
  • 高帯域幅ユーザーセッションの検出
  • エラーコードの発生および補強
  • user-session を追跡し動作(per-user-session-bandwidth、per-user-session-hits など)を把握するためのセッション化

チュートリアルでは標準的なストリーミング関数(min、max など)、および子テーブル、ストリームとテーブルの結合、各種ウィンドウ化機能による補強を使用します。

以下の説明に従って開始します。

Docker がない場合は、ローカルの Confluent Platform インストールを対象とした Clickstream チュートリアルの 自動化バージョン を実行することもできます。Docker なしで Clickstream のデモをローカルで実行するには、Confluent Platform が Elasticsearch および Grafana と併せてローカルにインストールされていることが必要です。

ksqlDB のサンプル

これらの例 は、ksqlDB の一般的な使用操作を示しています。

Java ストリームアプリケーションは、Kafka コンソールプロデューサー、JDBC Source Connector、Java クライアントプロデューサーなどの複数の方法で、データを逆シリアル化したり取り込んだりするように構成できます。完全なコードの例については、「Kafka Connect と Kafka Streams によるパイプライン処理」を参照してください。

Kafka ストリーミング ETL における ksqlDB

ストリーム処理に ksqlDB を使用して Kafka ストリーミング ETL をデプロイする方法を学習する場合は、 Confluent Platform デモ を実行できます。Confluent Platform デモのすべてのコンポーネントは、エンドツーエンドで構成された暗号化、認証、および認可を備えています。

ksqlDB ビデオ

Confluent YouTube チャンネル では、Confluent Platform ksqlDB と Confluent Cloud ksqlDB に関する最新のビデオがご覧になれます。

ビデオ 説明
Confluent Platform 6.2 | What's New in This Release + Updates Tim Berglund が、「転送中のデータ」を紹介し、新しいバージョンの ksqlDB の主要な機能について説明します。
ksqlDB HowTo: A mini video series Robin Moffatt による、スクリプトのデモを中心とした ksqlDB に関するクイックビデオです。スクリプトはご自身で実行することができます。
Apache Kafka 101: ksqlDB Tim Berglund が、ksqlDB の概念とクエリをわかりやすく紹介しています。
Confluent Cloud Quick Start, ksqlDB, and Project Reactor (Redux) Viktor Gamov が、Confluent Cloud の Kafka、Connect、および ksqlDB クラスターのプロビジョニングと、ksqlDB Reactor クライアントのアクセスについて説明しています。
Demo: The Event Streaming Database in Action Tim Berglund が、ksqlDB を使用して映画評価システムを構築し、映画レコードを Kafka のトピックに書き込む手順について説明しています。
Demo: Seamless Stream Processing with Kafka Connect & ksqlDB Confluent Cloud の AWS ソースコネクター、Azure シンクコネクター、および MongoDB ソースコネクターを使用して、ksqlDB アプリケーションをセットアップおよび構築します。
Introduction to ksqlDB and stream processing Vish Srinivasan が、Kafka のストリーム処理の基本と ksqlDB について説明しています。
Ask Confluent #16: ksqlDB edition Gwen Shapira が司会者として、Vinoth Chandar と一緒に ksqlDB について幅広く語っています。
An introduction to ksqlDB Robin Moffatt が、スケーラブルでフォールトトレラントなストリーム処理システムの構築に ksqlDB がどのように役立つかを説明しています。
ksqlDB and the Kafka Connect JDBC Sink Robin Moffatt が、Connect JDBC シンクと一緒に ksqlDB を使用する方法について解説しています。
How to Transform a Stream of Events Using ksqlDB Viktor Gamov が、映画データのストリームの転送方法について解説しています。
ksqlDB Java Client and Confluent Cloud Viktor Gamov が、ksqlDB Java クライアントの概要について説明しています。また Confluent Cloud に対するテストについても説明しています。