本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →SAS は、高度なアナリティクス、多変量解析、BI、データ管理、予測分析のためのソフトウェアです。SAS とCData ODBC Driver for Presto を合わせて使うことで、SAS からライブPresto データへデータベースライクにアクセスできるようになり、レポーティング、分析能力を向上できます。本記事では、SAS でPresto のライブラリを作成し、リアルタイムPresto に基づいたシンプルなレポートを作成します。
CData ODBC ドライバーは、ドライバーに組み込まれた最適化されたデータ処理により、SAS でライブPresto データを送受信する場合に圧倒的なパフォーマンスを提供します。SAS からPresto に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をPresto に直接プッシュし、組み込みSQL エンジンを利用して、サポートされていない操作(一般的にはSQL 関数とJOIN 操作)をクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、SAS でPresto を簡単にビジュアライズおよび分析できます。
以下は、Presto に接続するための情報と、Windows およびLinux 環境でDSN を構成するための様々なステップです。ODBC Driver for Presto は、SAS System をホストしているマシンにインストールする必要があります。
Presto への接続には、まずはServer およびPort を接続プロパティとして設定します。それ以外の追加項目は接続方式によって異なります。
TLS/SSL を有効化するには、UseSSL をTRUE に設定します。
LDAP で認証するには、次の接続プロパティを設定します:
KERBEROS 認証を使う場合には、以下を設定します:
DSN を構成する際に、Max Rows プロパティを定めることも可能です。これによって返される行数を制限するため、ビジュアライゼーション・レポートのデザイン時のパフォーマンスを向上させるのに役立ちます。
未指定の場合は、初めにODBC DSN(data source name)で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。
Linux 環境にCData ODBC Driver for Presto をインストールする場合、ドライバーのインストールによりシステムDSN が事前定義されます。システムデータソースファイル(/etc/odbc.ini) を編集し、必要な接続プロパティを定義することで、DSN を変更できます。
[CData Presto Sys]
Driver = CData ODBC Driver for Presto
Description = My Description
Server = 127.0.0.1
Port = 8080
これらの構成ファイルの使用に関する具体的な情報については、ヘルプドキュメントを参照してください。
CData ODBC Driver for Presto に基づくライブラリを追加することで、SAS でPresto に接続します。
SAS は、ローコードのポイントアンドクリッククエリツールを使用するか、PROC SQL とカスタムSQL クエリのプログラムを使うことで、データのクエリをネイティブにサポートします。SAS でビューを作成すると、ビューがクエリされるたびに定義クエリが実行されます。これは、レポート、チャート、分析について常にライブPresto データにクエリを実行することを意味します。
proc sql; create view customer_view as select firstname, lastname from odbclib.customer where Id = '123456789'; quit;
ローカルビューを作成すると、パワフルなSAS 機能を使用してPresto データをレポート、ビジュアライズ、またはその他の方法で分析できます。PROC PRINT を使用して簡単なレポートを印刷し、PROC GCHART を使用してデータに基づいた基本的なグラフを作成しましょう。
proc print data=customer; title "Presto Customer Data"; run;
proc gchart data=customer; pie firstname / sumvar=lastname value=arrow percent=arrow noheading percent=inside plabel=(height=12pt) slice=inside value=none name='CustomerChart'; run;