国産BI ツールのActionista! からKafka に直接連携してビジュアライズ

桑島義行
桑島義行
テクニカルディレクター
Actionista! からリアルタイムKafka のデータに直接連携して分析を実施。



CData Driver for ApacheKafka を使って、国産BIツールのActionista!(https://www.justsystems.com/jp/products/actionista/) からKafka のデータをノーコードで連携して利用できます。この記事では、間にETL/EAI ツールをはさむ方法ではなく、CData JDBC Driver for ApacheKafka をActionista! 側に組み込むだけで連携を実現できます。

Actionista! からKafka のデータへの連携を設定

CData JDBC Driver for ApacheKafka をActionista! に配置

  • CData JDBC Driver for ApacheKafka をActionista! と同じマシンにインストールします。
  • 次にインストールした.jar ファイルを以下のパスに格納します:
    ドライバー.jar ファイルのディレクトリ C:\Program Files\CData\CData JDBC Driver for ApacheKafka 2019J\lib\cdata.jdbc.apachekafka.jar
    Actionista! 側のコピー先ディレクトリ C:\JUST\JustBI\jdbc
  • 次に、C:\JUST\JustBI\conf にあるdatamanager.properties プロパティファイルに今回使用するKafka のドライバークラスなどを以下のように指定します:
  • # ApacheKafka
    loader.jdbc.displayName.ApacheKafka = ApacheKafka
    loader.jdbc.initJdbcUrl.ApacheKafka = jdbc:apachekafka:
    loader.jdbc.url.ApacheKafka = jdbc:apachekafka:
    loader.jdbc.driver.ApacheKafka = cdata.jdbc.apachekafka.ApacheKafkaDriver
    loader.jdbc.dbmsInfo.ApacheKafka = cdata.jdbc.apachekafka.ApacheKafkaDriver
                
  • これでActionista! へのドライバーの配置が完了しました。

Kafka のデータをActionista! のキューブに取り込み

Actionista! ではデータの保持をキューブという単位で保存します。また、クエリでデータソースからデータを取得するのではなく、キューブに対してクエリを行います。このステップでは、Kafka のデータをキューブに取り込み、分析で使えるようにします。

  • Actionista! にログインします。
  • 「DataManager」-> 「+キューブの新規作成」をクリックします。
  • CData JDBC ドライバはRDB データソースとしてActionista! から利用できるので、「RDB」を選択します。
  • 設定情報にKafka への接続に必要なプロパティを入れます:
    • RDB の種類:には、上のステップでdisplayName で指定した名前をドロップダウンで選びます。
    • 接続URL:Kafka に接続するための認証情報をセミコロン区切りで入力します。

      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

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

                          jdbc:apachekafka:User=admin;Password=pass;BootStrapServers=https://localhost:9091;Topic=MyTopic;
                      
    • ユーザー名:接続するアカウントのユーザー名(URL に含めることも可)
    • パスワード:接続するアカウントのパスワード(URL に含めることも可)
  • Actionista! のキューブにKafka を設定(Salesforce is shown.)
  • 「接続」ボタンを押してKafka に接続します。
  • Kafka への接続が完了すると、JDBC Driver がKafka のスキーマを取得して、テーブル・ビューをプルダウンメニューに表示します。分析キューブで使用するテーブル・ビューを選択して、OK ボタンを押します。
  • Kafka のテーブルを選択(Salesforce is shown.)
  • 選択したオブジェクトのカラムが表示されます。JDBC Driver は、Kafka のデータのスキーマを検出してActionista! に渡すので、カラム名だけでなく、データ型の推定がすでになされています。ここで細かい型修正やデータの抽出条件を必要があれば設定して保存します。
  • Kafka オブジェクトを選択してスキーマ修正(Salesforce is shown.)
  • データマネージャー画面でKafka のデータを選択して、「+取り込み」ボタンを押すとデータがキューブに保存されます。これでキューブへのデータ登録が完了です。

Actionista! 上にKafka のデータのダッシュボードを作成する

それでは簡単なダッシュボードを作成していきます。

  • 「Dashboard」-> 「ダッシュボードの新規作成」-> 「キューブから作成」をクリックします。
  • Kafka キューブを選択(Salesforce is shown.)
  • 先ほど作成したKafka のデータのキューブを選択して、ダッシュボード名を任意で入力して、OK を押します。
  • 左側にある明細パネルを右側のエリアにドラッグ&ドロップしますと、明細パネルの作成ウィンドウが表示されるので、Kafka キューブから表示させる項目を選択します。
  • Kafka キューブから分析で使用するカラムを選択(Salesforce is shown.)
  • そのままキューブのデータが表示することができます。ドリルダウンなどを行いたい場合は、サイドメニューにある分析パネルで作成してください。
  • Kafka のデータをActionista! でビジュアライズ(Salesforce is shown.)

CData JDBC Driver for ApacheKafka をActionista! で使うことで、ノーコードでKafka のデータをビジュアライズできました。ぜひ、30日の無償評価版をお試しください。

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

Apache Kafka Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Apache Kafka Icon Apache Kafka JDBC Driver お問い合わせ

Apache Kafka データに連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。