SAS for Real-Time Reporting and Analytics でCData ODBC Driver for Elasticsearch を使用

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Elasticsearch ODBC Driver

Elasticsearch ODBC Driver は、ODBC 接続をサポートするさまざまなアプリケーションからElasticsearch ドキュメントデータベースへの接続を実現するパワフルなツールです。

RDB にアクセスするときと同感覚でElasticsearch にアクセスし、標準ODBC Driver インターフェースを通じて読み出し、書き込み、更新が可能に。



CData ODBC Driver for Elasticsearch を使用してSAS からリアルタイムElasticsearch に接続します。

SAS は、高度なアナリティクス、多変量解析、BI、データ管理、予測分析のためのソフトウェアです。SAS とCData ODBC Driver for Elasticsearch を合わせて使うことで、SAS からライブElasticsearch データへデータベースライクにアクセスできるようになり、レポーティング、分析能力を向上できます。本記事では、SAS でElasticsearch のライブラリを作成し、リアルタイムElasticsearch に基づいたシンプルなレポートを作成します。

CData ODBC ドライバーは、ドライバーに組み込まれた最適化されたデータ処理により、SAS でライブElasticsearch データを送受信する場合に圧倒的なパフォーマンスを提供します。SAS からElasticsearch に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をElasticsearch に直接プッシュし、組み込みSQL エンジンを利用して、サポートされていない操作(一般的にはSQL 関数とJOIN 操作)をクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、SAS でElasticsearch を簡単にビジュアライズおよび分析できます。

ODBC Data Source としてElasticsearch に接続

以下は、Elasticsearch に接続するための情報と、Windows およびLinux 環境でDSN を構成するための様々なステップです。ODBC Driver for Elasticsearch は、SAS System をホストしているマシンにインストールする必要があります。

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

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

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

DSN を構成する際に、Max Rows プロパティを定めることも可能です。これによって返される行数を制限するため、ビジュアライゼーション・レポートのデザイン時のパフォーマンスを向上させるのに役立ちます。

Windows

未指定の場合は、初めにODBC DSN(data source name)で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。

Linux

Linux 環境にCData ODBC Driver for Elasticsearch をインストールする場合、ドライバーのインストールによりシステムDSN が事前定義されます。システムデータソースファイル(/etc/odbc.ini) を編集し、必要な接続プロパティを定義することで、DSN を変更できます。

/etc/odbc.ini

[CData Elasticsearch Sys] Driver = CData ODBC Driver for Elasticsearch Description = My Description Server = 127.0.0.1 Port = 9200 User = admin Password = 123456

これらの構成ファイルの使用に関する具体的な情報については、ヘルプドキュメントを参照してください。

SAS でElasticsearch ライブラリを作成

CData ODBC Driver for Elasticsearch に基づくライブラリを追加することで、SAS でElasticsearch に接続します。

  1. SAS を開き、[Explorer]ペインで[Libraries]を展開します。
  2. [Active Libraries]ウィンドウで右クリックし、[New]を選択します。
  3. ライブラリに名前を付け(odbclib)、Engine としてODBC を選択し、ライブラリをセッション間で保持する場合は[Enable at startup]をクリックします。
  4. Data Source を以前構成したDSN に設定し、[OK]をクリックします。

Elasticsearch クエリからビューを作成

SAS は、ローコードのポイントアンドクリッククエリツールを使用するか、PROC SQL とカスタムSQL クエリのプログラムを使うことで、データのクエリをネイティブにサポートします。SAS でビューを作成すると、ビューがクエリされるたびに定義クエリが実行されます。これは、レポート、チャート、分析について常にライブElasticsearch データにクエリを実行することを意味します。

クエリツールの使用

  1. SAS で[Tools]->[Query]と進みます。
  2. データをプルするテーブルソースとテーブルを選択し、[OK]をクリックします。
  3. カラムを選択し、右クリックしてフィルタリング、順序付け、グループ化などを追加します。
  4. [SQL Query Tool]ウィンドウを右クリックして[Show Query]を選択し、[Create View]をクリックして、クエリの結果を含むローカルビューを作成します。ビューに名前を付け、[OK] をクリックします。

PROC SQL の使用

  1. SAS で、[Editor]ウィンドウに移動します。
  2. PROC SQL を使用してデータをクエリし、ローカルビューを作成します。
    Note:このステップにより、[Work]ライブラリにビューが作成されます。オプションとして、create view ステートメントでライブラリを指定できます。
    proc sql;
      create view orders_view as
      select 
        ordername, 
        freight 
      from 
        odbclib.orders 
      where 
        ShipCity = 'New York';
    quit;
    
  3. [Run]->[Submit]とクリックしてクエリを実行し、ローカルビューを作成します。

SAS のElasticsearch データに関するレポートまたはビジュアライズ

ローカルビューを作成すると、パワフルなSAS 機能を使用してElasticsearch データをレポート、ビジュアライズ、またはその他の方法で分析できます。PROC PRINT を使用して簡単なレポートを印刷し、PROC GCHART を使用してデータに基づいた基本的なグラフを作成しましょう。

HTML を印刷

  1. SAS で、[Editor]ウィンドウに移動します。
  2. PROC PRINT を使用してElasticsearch Orders データのHTML レポートを印刷します。
    proc print data=orders;
      title "Elasticsearch Orders Data";
    run;
    

チャートを印刷

  1. SAS で、[Editor]ウィンドウに移動します。
  2. PROC GCHART を使用してOrders データのチャートを作成します。
    proc gchart data=orders;
      pie ordername / sumvar=freight
          value=arrow
          percent=arrow
          noheading
          percent=inside plabel=(height=12pt)
          slice=inside value=none
          name='OrdersChart';
    run;