Denodo Platform でKafka のデータソースを作成

CData JDBC ドライバを使ってDenodo Virtual DataPort Administrator でKafka のデータ の仮想データソースを作成します。

桑島義行
テクニカルディレクター

最終更新日:2022-02-28

この記事で実現できるKafka 連携のシナリオ

こんにちは!テクニカルディレクターの桑島です。

Denodo Platform は、エンタープライズデータベースのデータを一元管理するデータ仮想化製品です。CData JDBC Driver for ApacheKafka と組み合わせると、Denodo ユーザーはリアルタイムKafka のデータと他のエンタープライズデータソースを連携できるようになります。この記事では、Denodo Virtual DataPort Administrator でKafka の仮想データソースを作成する手順を紹介します。

最適化されたデータ処理が組み込まれたCData JDBC Driver は、リアルタイムKafka のデータを扱う上で比類のないパフォーマンスを提供します。Kafka にSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をKafka に直接渡し、サポートされていない操作(主にSQL 関数とJOIN 操作)は組み込みSQL エンジンを利用してクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータ型を使ってKafka のデータを操作および分析できます。

Kafka Virtual Port を作成

Denodo からリアルタイムKafka のデータに接続するには、JDBC Driver のJAR ファイルをDenodo の外部ライブラリディレクトリにコピーし、Virtual DataPort Administration Tool から新しいJDBC データソースを作成する必要があります。

  1. CData JDBC Driver for ApacheKafka インストーラーをダウンロードしてパッケージを展開し、JAR ファイルを実行してドライバーをインストールします。
  2. JAR ファイル(およびライセンスファイルがある場合はそれも)をインストール先(通常はC:\Program Files\CData\CData JDBC Driver for ApacheKafka\lib\)からDenodo 外部ライブラリディレクトリ(C:\Denodo\Denodo Platform\lib-external\jdbc-drivers\cdata-apachekafka-19)にコピーします。
  3. Denodo Virtual DataPort Administration Tool を開き、Server Explorer タブに移動します。
  4. 「admin」を右クリックし、「New」->「Data source」->「JDBC」を選択します。 新しいJDBC データソースを作成
  5. JCBC Connection を設定します。
    • Name:任意の名前(例:apachekafka)
    • Database adapter:Generic
    • Driver class path:C:\Denodo\Denodo Platform\lib-external\jdbc-drivers\cdata-apachekafka-19
    • Driver class:cdata.jdbc.apachekafka.ApacheKafkaDriver
    • Database URI:必要な接続プロパティを使用してJDBC のURL に設定。例えば次のようになります。

      jdbc:apachekafka:User=admin;Password=pass;BootStrapServers=https://localhost:9091;Topic=MyTopic;

      JDBC コネクションを設定(NetSuite の場合)

      Database URI の作成については以下を参照してください。

      組み込みの接続文字列デザイナー

      JDBC URL の作成の補助として、Kafka JDBC Driver に組み込まれている接続文字列デザイナーが使用できます。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。

      java -jar cdata.jdbc.apachekafka.jar

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

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

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

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

      デフォルトでは、本製品はデータソースとPLAINTEXT で通信し、これはすべてのデータが暗号化なしで送信されることを意味します。 通信を暗号化するには:

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

      Apache Kafka への認証

      Apache Kafka データソースは、次の認証メソッドをサポートしています:

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

      Anonymous

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

      匿名認証を行うには、このプロパティを設定します。

      • AuthSchemeNone

      その他の認証方法については、ヘルプドキュメントを参照してください。 組み込みの接続文字列デザイナーを使ってJDBC URL を生成(Salesforce の場合)

  6. 「接続テスト」をクリックして設定を確認し、「保存」をクリックします。

Virtual DataPort Administration Tool でKafka のデータを表示

データソースを作成したら、Denodo Platform で使用するKafka のデータの基本ビューを作成できます。

  1. 新しく作成したVirtualPort(admin.ApacheKafka)で「Create base view」をクリックします。
  2. オブジェクトツリーを展開し、インポートしたいオブジェクト(テーブル)を選択します。 インポートするオブジェクトの選択(NetSuite の場合)
  3. 「Create selected」をクリックしてKafka のデータのビューを作成します。
    オプション:「Create associations from foreign keys」をクリックして、オブジェクト間の関係を定義します。
  4. ビューを作成した状態で、Server Explorer のテーブル(cdata_apachekafka_sampletable_1)に移動し、選択したテーブルをダブルクリックします。
  5. 新しいタブで「Execution panel」をクリックしてクエリパネルを開きます。
  6. 「Execute」タブでクエリをカスタマイズするか、デフォルトを使用します。
    SELECT * FROM cdata_apachekafka_sampletable_1 CONTEXT ('i18n'='us_est', 'cache_wait_for_load'='true')
    
    データを表示するクエリを設定
  7. 「Execute」をクリックすると、データが表示されます。 データを表示

基本ビューを作成すると、Denodo Platform の他のデータソースと同様にリアルタイムKafka のデータを操作できるようになります。例えば、Denodo Data Catalog でKafka にクエリを実行できます。

CData JDBC Driver for ApacheKafka の30日の無償評価版をダウンロードして、Denodo Platform でリアルタイムKafka のデータの操作をはじめましょう!ご不明な点があれば、サポートチームにお問い合わせください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。