Qlik Sense Cloud のKafka からアプリを作成

加藤龍彦
加藤龍彦
デジタルマーケティング
CData API Server を使用してKafka のOData API を作成し、Qlik Sense Cloud のリアルタイムKafka のデータからアプリを構築します。



Qlik Sense Cloud を使用すると、データのビジュアライゼーションを作成および共有して、新しい方法で情報を操作できます。CData API Server は、Kafka の仮想データベースを作成し、Kafka のOData API(Qlik Sense Cloud でネイティブに使用可能)を生成するために使用できます。Qlik Sense Cloud をCData API Server とペアリングすることで、すべてのSaaS およびビッグデータとNoSQL ソースへの接続が可能になります。データを移行したり統合したりする必要はありません。ほかのREST サービスと同様に、Qlik Sense Cloud からAPI Server に接続するだけで、Kafka のデータに瞬時にライブアクセスできます。

この記事では、二つの接続について説明します。

  1. API Server からKafka への接続。
  2. Qlik Sense Cloud からAPI Server に接続してモデルを作成し、シンプルなダッシュボードを構築。

API Server の設定

以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなKafka OData サービスを作成していきましょう。

Kafka への接続

Qlik Cloud からKafka のデータを操作するには、まずKafka への接続を作成・設定します。

  1. API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。 接続を追加
  2. 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Kafka」を選択します。
  3. 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
    CData コネクタの追加方法はこちら >>
  4. それでは、Kafka への接続設定を行っていきましょう! 接続設定
  5. Apache Kafka 接続プロパティの取得・設定方法

    それでは、Apache Kafka に接続していきましょう。.NET ベースのエディションは、Confluent.Kafka およびlibrdkafka ライブラリに依存して機能します。 これらのアセンブリはインストーラーにバンドルされており、CData 製品と一緒に自動的にインストールされます。 別のインストール方法をご利用の場合は、NuGet から依存関係のあるConfluent.Kafka 2.6.0をインストールしてください。

    Apache Kafka サーバーのアドレスを指定するには、BootstrapServers パラメータを使用します。

    デフォルトでは、CData 製品はデータソースとPLAINTEXT で通信しており、これはすべてのデータが暗号化なしで送信されることを意味します。 通信を暗号化したい場合は、以下の設定を行ってください:

    1. UseSSLtrue に設定し、CData 製品がSSL 暗号化を使用するように構成します
    2. SSLServerCert およびSSLServerCertType を設定して、サーバー証明書をロードします

    Apache Kafka への認証

    続いて、認証方法を設定しましょう。Apache Kafka データソースでは、以下の認証方法をサポートしています:

    • Anonymous
    • Plain
    • SCRAM ログインモジュール
    • SSL クライアント証明書
    • Kerberos

    Anonymous 認証

    Apache Kafka の特定のオンプレミスデプロイメントでは、認証接続プロパティを設定することなくApache Kafka に接続できます。 このような接続はanonymous(匿名)と呼ばれます。

    匿名認証を行うには、以下のプロパティを設定してください。

    • AuthSchemeNone

    その他の認証方法については、ヘルプドキュメントをご確認ください。

  6. 接続情報の入力が完了したら、「保存およびテスト」をクリックします。

Apache Kafka 接続プロパティの取得・設定方法

それでは、Apache Kafka に接続していきましょう。.NET ベースのエディションは、Confluent.Kafka およびlibrdkafka ライブラリに依存して機能します。 これらのアセンブリはインストーラーにバンドルされており、CData 製品と一緒に自動的にインストールされます。 別のインストール方法をご利用の場合は、NuGet から依存関係のあるConfluent.Kafka 2.6.0をインストールしてください。

Apache Kafka サーバーのアドレスを指定するには、BootstrapServers パラメータを使用します。

デフォルトでは、CData 製品はデータソースとPLAINTEXT で通信しており、これはすべてのデータが暗号化なしで送信されることを意味します。 通信を暗号化したい場合は、以下の設定を行ってください:

  1. UseSSLtrue に設定し、CData 製品がSSL 暗号化を使用するように構成します
  2. SSLServerCert およびSSLServerCertType を設定して、サーバー証明書をロードします

Apache Kafka への認証

続いて、認証方法を設定しましょう。Apache Kafka データソースでは、以下の認証方法をサポートしています:

  • Anonymous
  • Plain
  • SCRAM ログインモジュール
  • SSL クライアント証明書
  • Kerberos

Anonymous 認証

Apache Kafka の特定のオンプレミスデプロイメントでは、認証接続プロパティを設定することなくApache Kafka に接続できます。 このような接続はanonymous(匿名)と呼ばれます。

匿名認証を行うには、以下のプロパティを設定してください。

  • AuthSchemeNone

その他の認証方法については、ヘルプドキュメントをご確認ください。

API Server のユーザー設定

次に、API Server 経由でKafka にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。

  1. 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
  2. 次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
  3. その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。

Kafka 用のAPI エンドポイントの作成

ユーザーを作成したら、Kafka のデータ用のAPI エンドポイントを作成していきます。

  1. まず、「API」ページに移動し、 「 テーブルを追加」をクリックします。
  2. アクセスしたい接続を選択し、次へをクリックします。
  3. 接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。

OData のエンドポイントを取得

以上でKafka への接続を設定してユーザーを作成し、API Server でKafka データのAPI を追加しました。これで、OData 形式のKafka データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。

(オプション)Cross-Origin Resource Sharing (CORS) を構成

Ajax などのアプリケーションから複数のドメインにアクセスして接続すると、クロスサイトスクリプティングの制限に違反する恐れがあります。その場合には、[OData]->[Settings]でCORS 設定を構成します。

  • Enable cross-origin resource sharing (CORS):ON
  • Allow all domains without '*':ON
  • Access-Control-Allow-Methods:GET, PUT, POST, OPTIONS
  • Access-Control-Allow-Headers:Authorization

Kafka のデータからQlik Sense アプリケーションを作成

Kafka への接続と構成されたOData エンドポイントがあれば、Kafka のデータを追加してQlik Sense でビジュアライズ、分析、レポートなどを行うことができます。

新しいアプリケーションの作成とデータのアップロード

  1. Qlik Sense インスタンスにログインし、ボタンをクリックして新しいアプリケーション新しいアプリケーションを作成します。 Creating a new app
  2. 新しいアプリケーションに名前を付けて構成し、「Create」をクリックします。
  3. ワークスペース内で、新しいアプリケーションをクリックして開きます。
  4. クリックして、ファイルやその他のソースからデータを追加します。 Selecting a connector
  5. REST コネクタを選択し、構成プロパティを設定します。次の箇所以外では、ほとんどの箇所でデフォルト値を使用します。
    • URL:これをKafka テーブルのAPI エンドポイントに設定します。@CSV URL パラメーターを使用することで、CSV レスポンスを確実に取得できます。(例: https://myserver/api.rsc/ApacheKafka_SampleTable_1?@CSV
    • Authentication Schema:「BASIC」に設定します。
    • User Name:上記で構成したユーザー名に設定します。
    • Password:上記のユーザー用の認証トークンに設定します。
  6. 「Create」をクリックしてKafka のデータのAPI Server をクエリします。
  7. 「CSV has header」をチェックし、「Tables」で「CSV_source」を選択します。
  8. カラムを選択し、「Add data」をクリックします。 Adding data to the app (NetSuite is shown.)

実際にデータを分析する

データがQlik Sense にロードされたので、洞察を引き出すことができます。「Generate insights」をクリックすると、Qlik がデータを分析します。もしくは、Kafka のデータを使用してカスタムのビジュアライゼーション、レポート、ダッシュボードを作成できます。

Generating insights on live data (NetSuite is shown.)

詳細と無料トライアル

これで、リアルタイムKafka のデータから簡単で強力なダッシュボードが作成されました。Kafka(および250 以外のデータソース)のOData フィードを作成する方法の詳細については、API Server ページにアクセスしてください。無料トライアルにサインアップして、Qlik Sense Cloud でリアルタイムKafka のデータの操作を開始します。

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ