ETL Validator JDBC でElasticsearch のデータを扱う方法
ETL Validator は、組織全体のデータプラットフォームを統合するためのデータ移動と変換機能を提供します。 CData JDBC ドライバーは ETL Validator とシームレスに統合され、ネイティブの接続機能を拡張してElasticsearch のデータを含めることができます。
このチュートリアルでは、シンプルな ETL Validator データフローを構築し、Elasticsearch のデータを抽出して、サンプルのデータストレージソリューションである SQL Server にロードする手順を説明します。
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 経由で新しい ETL Validator データソースを追加
CData は、CData JDBC ドライバー経由で接続するデータソースを追加できるようにすることで、ETL Validator のデータ接続機能を拡張します。Elasticsearch のデータへの接続は、以下の手順で CData の接続スイートを通じて ETL Validator で新しいデータソースを作成するだけです。
ETL Validator にログイン
まず、ETL Validator にログインしてアプリケーションダッシュボードを表示します。
データソースの追加をクリック
CData は ETL Validator 内のデータソースオプションを拡張します。
CData をクリック
CData の接続機能は ETL Validator のデータソースオプションに組み込まれています。
CData Driver の接続文字列を設定
ETL Validator で Elasticsearch への接続を確立するには、JDBC 接続文字列が必要です。
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 ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。
java -jar cdata.jdbc.elasticsearch.jar
一般的な接続文字列は以下のようになります。
jdbc:elasticsearch:Server=127.0.0.1;Port=9200;User=admin;Password=123456;
ドライバーのライセンス
JDBC ドライバーが適切にライセンスされていることを確認するには、ライセンスファイルを適切な場所にコピーします。
Elasticsearch 用の JDBC Driver と lic ファイルを「C:\Program Files\CData[product_name]\lib」から 「C:\Datagaps\ETLValidator\Server\apache-tomcat\bin」にコピーします。
cdata.jdbc.elasticsearch.jar
cdata.jdbc.elasticsearch.lic
注意:.lic ファイルを jar と一緒にコピーしない場合、有効なライセンスがインストールされていないことを示すライセンスエラーが表示されます。これは評価版と正式版の両方に当てはまります。
接続を保存
CData JDBC ドライバークラスのロードで問題が発生した場合は、DataGap のチームにお問い合わせください。関連するドライバーの jar ファイルをロードする方法について案内を受けることができます。
SQL Server をターゲットとして追加
この例では Elasticsearch のデータの保存先として SQL Server を使用しますが、任意の保存先を代わりに使用できます。
DataSources に移動し、MS_SQL_SERVER を選択
このオプションがデフォルトです。
必要な接続の詳細を入力し、接続をテスト
詳細は特定のターゲットによって異なりますが、URL、認証情報などが含まれる場合があります。
ETL Validator でデータフローを作成
Dataflows タブを開く
設定済みのデータフローがこのウィンドウに表示されます。
Create Dataflow を選択
新しいデータフローに名前を付けて保存します。
データフローを開いてデータフロー図を表示
データ移動の詳細はこのパネルで設定します。
右側から JDBC をソースとしてドラッグ&ドロップ
新しいソースに適切な名前を付けて保存します。
新しいソースの Query セクションを入力
Elasticsearch のデータからどのデータを取得するかを反映するテーブルを Schema オプションから選択します。
クエリの予想結果を確認
設定したクエリの予想される結果が Result タブに表示されます。
データフローに保存先を追加
「Switch to Diagram」を選択し、右側(Sink オプションの下)から DB Sink をターゲットとしてドラッグ&ドロップします。シンクに適切な名前を付けて保存します。
保存先の適切なスキーマを設定
ソーステーブルの構造に一致するスキーマとテーブルを選択します。この例では、ターゲット側のテーブルがソースに一致するように作成されているため、データがシームレスに流れます。より高度なスキーマ変換操作については、この記事の範囲外です。
RUN オプションをクリックしてレプリケーションを開始
ジョブの実行には時間がかかります。
完成したデータフローを確認
図に戻り、Elasticsearch のデータから SQL Server への完成したデータレプリケーションジョブを確認します。
今すぐ始めましょう
CData JDBC Driver for Elasticsearch の30日間無償トライアルをダウンロードして、 ETL Validator で Elasticsearch 連携アプリケーションの構築を始めましょう。ご不明な点がございましたら、 サポートチームまでお問い合わせください。