サンプルの概要

ksqlDB の基礎

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

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

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

Copyright 2017-2020 Confluent Inc.

CLI v6.0.6, Server v6.0.6 located at http://localhost:8088

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

ksql>

ksqlDB CLI スタートガイド:

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

../../_images/c3-ksql-download-msg.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 Platform 5.5: What's New in ksqlDB Confluent Platform ksqlDB の新機能の概要です。
ksqlDB Demo: The Event Streaming Database in Action コネクターと ksqlDB を使用して映画評価システムを構築します。

Level Up Your KSQL ビデオ

ビデオ 説明
KSQL Introduction KSQL を中心とした Kafka ストリーム処理の概要です。
KSQL Use Cases データ探索、任意フィルター、ストリーミング ETL、異常検出、リアルタイムモニタリングなど、KSQL のさまざまなユースケースについて説明します。
KSQL and Core Kafka KSQL 対クライアントに関連付けて KSQL のコア Kafka に対する依存関係を説明し、KSQL が Kafka のトピックをどのように使用するかについて説明します。
Installing and Running KSQL KSQL の入手方法、KSQL サーバーの構成と起動、構文の基本です。
KSQL Streams and Tables STREAM と TABLE の違いを説明し、詳細な例を示して、どのようにしてストリーミングクエリの境界をなくしているかを説明します。
Reading Kafka Data from KSQL Kafka のトピックのデータを探索し、Kafka のトピックから STREAM または TABLE を作成して、フィールドを特定する方法です。ROWTIME や TIMESTAMP のようなメタデータについても説明し、Avro、JSON、Delimited などの各種フォーマットについても触れています。
Streaming and Unbounded Data in KSQL ストリーミングクエリの詳細、トピックを先頭から読み取る方法、永続的なクエリと非永続的なクエリの違い、ストリーミングクエリの終了方法。
Enriching data with KSQL スカラー関数、フィールド型の変更、データのフィルター、JOIN によるデータのマージ、ストリームに対するキーの再設定。
Aggregations in KSQL KSQL でデータを集約する方法、COUNT、SUM、MAX、MIN、TOPK など各種の集約関数、ウィンドウ化、順序外のデータ。
Taking KSQL to Production ストリーミング ETL パイプラインで KSQL を使用し、クエリ処理のスケーリングおよびワークロードを分離により、デプロイ全体をセキュアにする方法です。
Insert Into Confluent による KSQL での INSERT INTO の使用法についての簡単なチュートリアルです。
Struct (Nested Data) Confluent による KSQL での STRUCT の使用法についての簡単なチュートリアルです。
Stream-Stream Joins Confluent による KSQL でのストリーム同士の結合についての短いチュートリアルです。
Table-Table Joins Confluent による KSQL でのテーブル同士の結合についての短いチュートリアルです。
Monitoring KSQL in Confluent Control Center KSQL クエリのパフォーマンスおよびエンドツーエンドのメッセージデリバリーのモニタリングです。