Coginiti Pro からリアルタイムElasticsearch のデータにアクセス

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
SQL アナリティクスツール「Coginiti Pro」のGUI を使用してElasticsearch のデータに接続し、クエリを実行します。

Coginiti Pro は、データエンジニア、アナリスト、データサイエンティスト向けに設計された SQL データおよびアナリティクスのための統合ツールです。CData JDBC Driver for Elasticsearchと組み合わせることで、Coginiti Pro からリアルタイムでElasticsearch のデータにアクセスしてクエリを実行できます。この記事では、Coginiti Pro からElasticsearch のデータに接続してクエリを実行する方法を説明します。

CData JDBC Driver for Elasticsearchの組み込みの最適化されたデータ処理により、リアルタイムElasticsearch のデータとのやり取りにおいて比類のないパフォーマンスを実現します。Elasticsearchに対して複雑な SQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされている SQL 操作を直接Elasticsearchにプッシュし、サポートされていない操作(主に SQL 関数や JOIN 操作)は組み込みの SQL エンジンを使用してクライアントサイドで処理します。さらに、組み込みの動的メタデータクエリ機能により、ネイティブデータ型を使用して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


はじめに


接続プロパティの取得と接続文字列の作成

CData JDBC Driver for 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 では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。

NOTE: Coginiti Pro で JDBC ドライバーを使用するには、ライセンス(製品版またはトライアル版)とランタイムキー(RTK)が必要な場合があります。ライセンス(またはトライアル)の取得について詳しくは、営業チームまでお問い合わせください

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

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

java -jar cdata.jdbc.elasticsearch.jar

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

Elasticsearch のデータ用の JDBC データソースを作成

  1. Coginiti Pro を開き、File メニューから「Edit Drivers」を選択します。
  2. 表示されたウィザードで「Add」をクリックし、「Generic」を選択します。
  3. 「JDBC Drivers」ウィザードで、以下のドライバープロパティを設定し、「Create Driver」をクリックします。

    • JDBC Driver Name に「CData JDBC Driver for Elasticsearch」などのわかりやすい名前を設定します。
    • 「Add Files」をクリックして、インストールディレクトリの「lib」フォルダから JAR ファイル(例:cdata.jdbc.elasticsearch.jar)を追加します。
    • Class Name で cdata.jdbc.elasticsearch.ElasticsearchDriver を選択します。

CData JDBC Driver for Elasticsearchを使用した接続の作成

  1. File メニューから「Edit Connections」をクリックします。
  2. 表示されたウィザードで「Add」をクリックし、「Generic」を選択します。
  3. 「Connections」ウィザードで、接続プロパティを設定します。
    • Connection name に識別しやすい名前を設定します。
    • Database JDBC driver に先ほど設定したドライバーを設定します。
    • JDBC URL に組み込みの接続文字列デザイナーで設定した JDBC URL を設定します(例:jdbc:elasticsearch:Server=127.0.0.1;Port=9200;User=admin;Password=123456;)。
  4. 「Test」をクリックして接続が正しく設定されていることを確認します。「Save」をクリックします。

SQL でElasticsearchにクエリを実行

  1. データベースアイコン()をクリックして Connections タブを開きます。
  2. プラス記号()をクリックして新しいクエリタブを追加します。
  3. クエリコンソールが開いたら、実行する SQL スクリプトを記述し、「Run at Cursor」をクリックします。

    NOTE: 左側のエクスプローラーを使用して、テーブル/ビュー名やカラム名を確認できます。

    エクスプローラーの使用方法

    1. 「Select connection」フィールドで、クエリを実行する接続を選択します。
    2. 作成した接続を展開し、「CData」カタログを展開してから、Elasticsearchカタログを展開します。
    3. 「Tables」または「Views」を展開して、クエリを実行するエンティティを見つけます。
    4. 選択したエンティティを展開して、フィールド(カラム)を確認します。

無料トライアルと詳細情報

CData JDBC Driver for Elasticsearchの30日間の無料トライアルをダウンロードして、Coginiti Pro でリアルタイムElasticsearch のデータを活用してください。ご質問がございましたら、サポートチームまでお問い合わせください。

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

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

 ダウンロード

詳細:

Elasticsearch Icon Elasticsearch JDBC Driver お問い合わせ

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