Dataiku からリアルタイム Elasticsearch データを使って AI/ML モデルを構築

Dibyendu Datta
Dibyendu Datta
Lead Technology Evangelist
CData JDBC Driver for Elasticsearch を使って Elasticsearch データを Dataiku に接続。

Dataiku は、データの準備、分析、可視化、AI/ML モデルのデプロイメントに利用されるデータサイエンスおよび機械学習プラットフォームです。チームでの協業と効率的なデータドリブンな意思決定を可能にします。CData JDBC Driver for Elasticsearch と組み合わせることで、Dataiku は Elasticsearch のデータ のデータ連携、データ準備、リアルタイム分析、そして信頼性の高いモデルデプロイメントをさらに強化します。

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

この記事では、Dataiku DSS(Data Science Studio)プラットフォームで CData JDBC Driver for Elasticsearch を使って Elasticsearch に簡単に連携する方法を紹介します。データの準備やカスタム AI/ML モデルの構築を行いましょう。

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


はじめに


Dataiku DSS 環境の準備

このセクションでは、先に紹介した Dataiku を Elasticsearch のデータ 向けにセットアップする方法を説明します。事前に、お使いのオペレーティングシステムに対応した Dataiku DSS(オンプレミス版)をインストールしておいてください。

CData JDBC Driver for Elasticsearch のインストール

まず、Dataiku と同じマシンに CData JDBC Driver for Elasticsearch をインストールします。JDBC Driver は以下のパスにインストールされます:

C:\Program Files\CData[product_name] 20xx\lib\cdata.jdbc.elasticsearch.jar

Dataiku DSS での JDBC Driver 接続設定

Dataiku で CData JDBC Driver を使用するには、新しい SQL データベース接続を作成し、DSS の接続設定で JDBC Driver の JAR ファイルを追加する必要があります。

  1. Dataiku DSS プラットフォームにログインします。ブラウザでローカルに開きます(例:localhost:11200)。
  2. プラットフォームの右上にある Navigate to other sections of Dataiku メニューをクリックし、Administration を選択します。
  3. Connections タブを選択します。
  4. Connections 画面で New Connections ボタンをクリックします。
  5. スクロールして Other SQL databases を選択します。
  6. Elasticsearch に接続するための JDBC URL を生成します。jdbc:elasticsearch: で始まり、その後にセミコロン区切りの接続文字列プロパティを続けます。

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

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

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

    java -jar cdata.jdbc.elasticsearch.jar
    

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

    一般的な JDBC URL は次のようになります:

    jdbc:elasticsearch:Server=127.0.0.1;Port=9200;User=admin;Password=123456;
    
  7. New SQL database (JDBC) connection 画面で、New connection name フィールドに名前を入力し、基本パラメータを指定します:
    • JDBC Driver Class:cdata.jdbc.elasticsearch.ElasticsearchDriver
    • JDBC URL:前のステップで取得した JDBC 接続 URL
    • Driver jars directory:システム上で JAR ファイルがインストールされているフォルダパス

    次に、SQL dialect を選択します。ここでは「SQL Server」を選択しています。Create をクリックします。接続が成功すると、「Connection OK」というメッセージが表示されます。

  8. Data Catalog ウィンドウが表示されます。Connection to browseRestrict to catalogRestrict to schema ドロップダウンから目的の接続、カタログ、スキーマを選択し、List Tables をクリックします。Dataiku プラットフォームに必要なテーブルがすべて一覧表示されます。
  9. 一覧からテーブルを選択し、Preview をクリックしてテーブルデータを表示します。Close をクリックしてウィンドウを閉じます。

新しいプロジェクトの作成

Dataiku DSS プラットフォームでデータフローの準備、ダッシュボードの作成、Elasticsearch のデータ の分析、AI/ML モデルの構築を行うには、まず新しいプロジェクトを作成する必要があります。

  1. Navigate to other sections of Dataiku メニューから Projects を選択します。
  2. Projects 画面で New Project をクリックし、+ Blank Project を選択します。
  3. New Project ウィンドウで、NameProject Key を入力します。Create をクリックすると、新しいプロジェクトのダッシュボードが開きます。
  4. プロジェクト画面上部のメニューから Notebooks を選択します。
  5. + Create Your First Notebook ドロップダウンメニューをクリックし、Write your own オプションを選択します。
  6. New Notebook ウィンドウで SQL を選択します。
  7. Connection ドロップダウンから必要な接続を選択し、Notebook Name フィールドに名前を入力します。

接続のテスト

Elasticsearch 接続をテストして Elasticsearch のデータ を分析するには、クエリコンパイラでクエリを記述し、Run をクリックします。クエリ結果やフィルタリングされた Elasticsearch のデータ の結果が画面に表示されます。

おわりに

CData JDBC Driver for Elasticsearch の 30日間無償トライアル をダウンロードして、Dataiku と連携し、Elasticsearch のデータ からカスタム AI/ML モデルを簡単に構築しましょう。

ご質問があれば、お気軽に サポートチーム までお問い合わせください。

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

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

 ダウンロード

詳細:

Elasticsearch Icon Elasticsearch JDBC Driver お問い合わせ

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