Denodo Platform で Elasticsearch のデータ に接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData ドライバーを使用して、Denodo Virtual DataPort Administrator で Elasticsearch のデータ 用の仮想データソースを作成する方法を説明します。

Denodo Platform は、エンタープライズデータベースのデータを統合的に扱うことができるデータ仮想化製品です。CData JDBC Driver for Elasticsearch と組み合わせることで、Denodo ユーザーは他のエンタープライズデータソースと並んでライブ Elasticsearch のデータ を扱うことができます。本記事では、Denodo Virtual DataPort Administrator で Elasticsearch 用の仮想データソースを作成する方法を解説します。

CData JDBC Driver は、最適化されたデータ処理機能を内蔵しており、ライブ Elasticsearch のデータ とのやり取りにおいて比類のないパフォーマンスを提供します。Elasticsearch に対して複雑な SQL クエリを発行すると、ドライバーはフィルターや集計などのサポートされている SQL 操作を直接 Elasticsearch にプッシュし、内蔵の SQL エンジンを使用してサポートされていない操作(主に SQL 関数や JOIN 操作)をクライアントサイドで処理します。また、動的メタデータクエリ機能を内蔵しているため、ネイティブデータ型を使用して Elasticsearch のデータ を操作・分析できます。

Elasticsearch データ連携について

CData を使用すれば、Elasticsearch のライブデータへのアクセスと統合がこれまでになく簡単になります。お客様は CData の接続機能を以下の目的で利用しています:

  • SQL エンドポイントと REST エンドポイントの両方にアクセスでき、接続を最適化し、Elasticsearch データの読み書きに関してより多くのオプションを提供します。
  • v2.2 以降およびオープンソース Elasticsearch サブスクリプションを含む、ほぼすべての Elasticsearch インスタンスに接続できます。
  • SCORE() 関数を明示的に要求することなく、常にクエリ結果の関連性スコアを受け取ることができます。これにより、サードパーティツールからのアクセスが簡素化され、クエリ結果のテキスト関連性のランキングを簡単に確認できます。
  • 複数のインデックスを検索でき、クライアントマシンではなく Elasticsearch がクエリと結果の管理・処理を担当します。

ユーザーは、Crystal Reports、Power BI、Excel などの分析ツールと Elasticsearch データを統合し、当社のツールを活用して、Elasticsearch を含むすべてのデータソースへの単一のフェデレートアクセスレイヤーを実現しています。

CData の Elasticsearch ソリューションの詳細については、ナレッジベース記事をご覧ください:CData Elasticsearch Driver Features & Differentiators


はじめに


Elasticsearch 仮想ポートの作成

Denodo からライブ Elasticsearch のデータ に接続するには、JDBC Driver の JAR ファイルを Denodo の外部ライブラリディレクトリにコピーし、Virtual DataPort Administrator ツールで新しい JDBC データソースを作成します。

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

      jdbc:elasticsearch:Server=127.0.0.1;Port=9200;User=admin;Password=123456;

      Database URI の作成方法は以下のとおりです:

      ビルトイン接続文字列デザイナー

      JDBC URL の構築には、Elasticsearch JDBC Driver に組み込まれた接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。

      	java -jar cdata.jdbc.elasticsearch.jar
      	

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

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

      接続するには、Server およびPort 接続プロパティを設定します。 認証には、User とPassword プロパティ、PKI (public key infrastructure)、またはその両方を設定します。 PKI を使用するには、SSLClientCert、SSLClientCertType、SSLClientCertSubject、およびSSLClientCertPassword プロパティを設定します。

      CData 製品は、認証とTLS/SSL 暗号化にX-Pack Security を使用しています。TLS/SSL で接続するには、Server 値に'https://' を接頭します。Note: PKI を 使用するためには、TLS/SSL およびクライアント認証はX-Pack 上で有効化されていなければなりません。

      接続されると、X-Pack では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。

  6. "Test connection" ボタンをクリックして設定を確認し、Save をクリックします。

VirtualPort Administrator ツールで Elasticsearch のデータ を表示

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

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

ベースビューの作成後は、Denodo Platform の他のデータソースと同様にライブ Elasticsearch のデータ を扱うことができます。たとえば、Denodo Data Catalog で Elasticsearch をクエリできます。

CData JDBC Driver for Elasticsearch の 30日間無料トライアルをダウンロードして、Denodo Platform でライブ Elasticsearch のデータ の活用を始めましょう。ご不明な点がございましたら、サポートチーム までお問い合わせください。

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

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

 ダウンロード

詳細:

Elasticsearch Icon Elasticsearch JDBC Driver お問い合わせ

Elasticsearch 連携のパワフルなJava アプリケーションを素早く作成して配布。