CData JDBC Driver for Elasticsearch で SAP BusinessObjects ユニバースを作成
この記事では、CData JDBC Driver for Elasticsearch を使用して、SAP BusinessObjects Business Intelligence アプリケーションから Elasticsearch に接続する方法を説明します。Information Design Tool を使用してElasticsearch のデータを分析し、CData JDBC Driver for Elasticsearch 上にユニバースを作成します。その後、Web Intelligence からユニバースに接続します。
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 への JDBC 接続を作成
以下の手順に従って、Information Design Tool で Elasticsearch JDBC データソースへの接続を作成します。
- CData の JAR ファイルと .lic ファイルを BusinessObjects インストールディレクトリの dataAccess\connectionServer\jdbc\drivers\jdbc サブフォルダにコピーします。CData の JAR ファイルは、インストールディレクトリの lib サブフォルダにあります。
- プロジェクトを右クリックし、New -> New Relational Connection をクリックします。
- 表示されるウィザードで、Generic -> Generic JDBC datasource -> JDBC Drivers をクリックします。
- ウィザードの次のページで、接続の詳細を入力します。
次のページで、Authentication Mode オプションを「Use specified username and password」に設定します。ユーザー名、パスワード、JDBC URL を入力します。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 ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。
java -jar cdata.jdbc.elasticsearch.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を設定する際に、Max Rows 接続プロパティの設定も検討してください。返される行数を制限することで、特にレポートやビジュアライゼーションの設計時にパフォーマンスを向上させることができます。
以下は一般的な JDBC URL です:
jdbc:elasticsearch:Server=127.0.0.1;Port=9200;User=admin;Password=123456;
- ドライバークラスを入力します:cdata.jdbc.elasticsearch.ElasticsearchDriver
- 接続プーリングとカスタムパラメータのデフォルト値でウィザードを完了します。
Information Design Tool で Elasticsearch のデータ を分析
JDBC 接続を使用して、Information Design Tool でElasticsearch のデータを分析できます。
- Local Projects ビューで、接続(.cnx ファイル)をダブルクリックして Elasticsearch データソースを開きます。
- Show Values タブでは、テーブルデータをロードしたり SQL クエリを入力したりできます。テーブルデータを表示するには、テーブルのノードを展開し、テーブルを右クリックして Show Values をクリックします。値が Raw Data タブに表示されます。
- Analysis タブでは、カラムをチャートの軸にドラッグ&ドロップしてデータを分析できます。
ローカル接続を公開
ユニバースを CMS に公開するには、接続も公開する必要があります。
- Local Projects ビューで、接続を右クリックし、Publish Connection to a Repository をクリックします。
- リポジトリのホストとポート、接続の認証情報を入力します。
- 接続を公開するフォルダを選択します。
- 表示される成功ダイアログで Yes をクリックして、接続のショートカットを作成します。
JDBC Driver for Elasticsearch でユニバースを作成
以下の手順に従って、JDBC ドライバー上にユニバースを作成します。この例のユニバースはリポジトリに公開されるため、前のステップで作成した公開済み接続を使用します。
- Information Design Tool で、File -> New Universe をクリックします。
- プロジェクトを選択します。
- リレーショナルデータソース上にユニバースを作成するオプションを選択します。
- 公開済み接続へのショートカットを選択します。
- Data Foundation の名前を入力します。
- オブジェクトとしてアクセスしたいテーブルとカラムをインポートします。
- Business Layer の名前を入力します。
ユニバースを公開
以下の手順に従って、ユニバースを CMS に公開します。
- Local Projects ビューで、ビジネスレイヤーを右クリックし、Publish -> To a Repository をクリックします。
- Publish Universe ダイアログで、インポート前の整合性チェックを入力します。
- ユニバースを公開するリポジトリ上のフォルダを選択または作成します。
Web Intelligence で Elasticsearch のデータ をクエリ
公開されたユニバースを使用して、Web Intelligence から Elasticsearch に接続できます。
- cdata.jdbc.elasticsearch.lic ファイルを BusinessObjects インストールディレクトリの \dataAccess\connectionServer\jdbc\drivers\jdbc サブフォルダにコピーします。ライセンスファイルは、インストールディレクトリの lib サブフォルダにあります。
- BusinessObjects ランチパッドから Web Intelligence を開き、新しいドキュメントを作成します。
- データソースとして Universe オプションを選択します。
- Elasticsearch ユニバースを選択します。これによりクエリパネルが開きます。Result Objects ペインにオブジェクトをドラッグして、クエリで使用します。