【ノーコード】SAP Analytics Cloud でKafka のデータを分析する方法
SAP Analytics Cloud は、クラウドベースのビジネスインテリジェンスプラットフォームです。CData API Server は、Kafka の仮想データベースを作成し、Kafka のOData API(Analytics Cloud でネイティブに使用可能)を生成するために使用できます。SAP Analytics Cloud をCData API Server とペアリングすることで、すべてのSaaS およびBig Data とNoSQL ソースへの、データを移行したり統合したりする必要のない接続が可能になります。ほかのOData サービスと同様に、API Server に接続するだけで、すべてのデータに瞬時にライブアクセスできます。
この記事では、API Server でのKafka への接続と、Analytics Cloud からのAPI Server への接続について説明し、モデルと簡単なダッシュボードを作成します。
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなKafka OData サービスを作成していきましょう。
Kafka への接続
SAP Analytics Cloud からKafka のデータを操作するには、まずKafka への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「Kafka」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、Kafka への接続設定を行っていきましょう!
-
Apache Kafka 接続プロパティの取得・設定方法
それでは、Apache Kafka に接続していきましょう。.NET ベースのエディションは、Confluent.Kafka およびlibrdkafka ライブラリに依存して機能します。 これらのアセンブリはインストーラーにバンドルされており、CData 製品と一緒に自動的にインストールされます。 別のインストール方法をご利用の場合は、NuGet から依存関係のあるConfluent.Kafka 2.6.0をインストールしてください。
Apache Kafka サーバーのアドレスを指定するには、BootstrapServers パラメータを使用します。
デフォルトでは、CData 製品はデータソースとPLAINTEXT で通信しており、これはすべてのデータが暗号化なしで送信されることを意味します。 通信を暗号化したい場合は、以下の設定を行ってください:
- UseSSL をtrue に設定し、CData 製品がSSL 暗号化を使用するように構成します
- SSLServerCert およびSSLServerCertType を設定して、サーバー証明書をロードします
Apache Kafka への認証
続いて、認証方法を設定しましょう。Apache Kafka データソースでは、以下の認証方法をサポートしています:
- Anonymous
- Plain
- SCRAM ログインモジュール
- SSL クライアント証明書
- Kerberos
Anonymous 認証
Apache Kafka の特定のオンプレミスデプロイメントでは、認証接続プロパティを設定することなくApache Kafka に接続できます。 このような接続はanonymous(匿名)と呼ばれます。
匿名認証を行うには、以下のプロパティを設定してください。
- AuthScheme:None
その他の認証方法については、ヘルプドキュメントをご確認ください。
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
Apache Kafka 接続プロパティの取得・設定方法
それでは、Apache Kafka に接続していきましょう。.NET ベースのエディションは、Confluent.Kafka およびlibrdkafka ライブラリに依存して機能します。 これらのアセンブリはインストーラーにバンドルされており、CData 製品と一緒に自動的にインストールされます。 別のインストール方法をご利用の場合は、NuGet から依存関係のあるConfluent.Kafka 2.6.0をインストールしてください。
Apache Kafka サーバーのアドレスを指定するには、BootstrapServers パラメータを使用します。
デフォルトでは、CData 製品はデータソースとPLAINTEXT で通信しており、これはすべてのデータが暗号化なしで送信されることを意味します。 通信を暗号化したい場合は、以下の設定を行ってください:
- UseSSL をtrue に設定し、CData 製品がSSL 暗号化を使用するように構成します
- SSLServerCert およびSSLServerCertType を設定して、サーバー証明書をロードします
Apache Kafka への認証
続いて、認証方法を設定しましょう。Apache Kafka データソースでは、以下の認証方法をサポートしています:
- Anonymous
- Plain
- SCRAM ログインモジュール
- SSL クライアント証明書
- Kerberos
Anonymous 認証
Apache Kafka の特定のオンプレミスデプロイメントでは、認証接続プロパティを設定することなくApache Kafka に接続できます。 このような接続はanonymous(匿名)と呼ばれます。
匿名認証を行うには、以下のプロパティを設定してください。
- AuthScheme:None
その他の認証方法については、ヘルプドキュメントをご確認ください。
API Server のユーザー設定
次に、API Server 経由でKafka にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
Kafka 用のAPI エンドポイントの作成
ユーザーを作成したら、Kafka のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
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
SAP Analytics Cloud でKafka のデータのモデルを作成する
Kafka への接続が設定されてOData エンドポイントが作成されると、SAP Analytics Cloud でKafka のデータのモデルを作成できるようになります。
- Analytics Cloud インスタンスにログインし、メニューから「Create」->「Model」と進みます。
- 「Get data from a datasource」から「OData Services」を選択します。
- API Server OData への既存の接続を選択、または新しい接続を作成します。
- 「Connection Name」を設定します。
- 「Data Service URL」をOData API のBase URL に設定します。(通常はCONNECT_SERVER_URL/api.rsc)
- 「Authentication Type」をBasic Authentication に設定します。
- 「User Name」を構成済みのAPI Server ユーザーに設定します。
- 「Password」を上記のユーザーの認証トークンに設定します。
- 「Create a new query」を選択して「Next」をクリックします。
- クエリに名前を付け、OData エンドポイント(apachekafkadb_SampleTable_1 など)を選択して「Next」をクリックします。
- 使用したいカラムを「Selected Data」ワークスペースにドラッグし、「Create」をクリックします。
- この時点でドラフトデータソースが作成されるため、ドラフトをクリックしてモデルを完成させます。
- 計算ディメンション、場所ディメンションの作成、データソースの結合などの変換を実行し、「Create Model」をクリックします。
- モデルに名前を付け、「OK」をクリックします。
SAP Analytics Cloud でダッシュボードを構築する
モデルが作成されたら、Kafka のデータを使用してSAP Analytics Cloud でダッシュボードを作成できるようになります。
- メニューから「Create」->「Story」とクリックします。
- SAP Analytics Template をクリックします。(この記事では、「Dashboard」テンプレートを使用します。)
- レイアウトを選択して「Apply」をクリックします。
- 「More」メニューから挿入するビジュアライゼーション(チャート)を選択します。
- ビジュアライズするモデルを選択します。
- 構造と必要なメジャー、ディメンションを選択します。
- ストーリーを保存します。
おわりに
これで、リアルタイムKafka のデータから簡単で強力なダッシュボードが作成できました。Kafka(および250 以外のデータソース)のOData フィードを作成する方法の詳細については、API Server ページにアクセスしてください。無料トライアルにサインアップして、SAP Analytics Cloud でリアルタイムKafka のデータの操作を開始してください。