01. はじめに
最近多くの人々がクラウド環境をベースにしたデータストレージサービスを利用しています。
ここで皆さん、突然ですが、データを管理するためにローカル(またはオンプレミス)環境を構築していた過去を振り返ってみてください。
以前は、データを保存するために、関連ソフトウェアやハードウェアを購入・設置・インストールし、様々な環境設定を行います。3か月後、データの量が増えてきてデータベースの容量が足りなくなります。そしてまた多くの費用と時間を使って、必要なソフトウェア・ハードウェアを再び購入、同じく様々な環境設定をします。
上記に記載したような様子は現在のビジネス世界ではほとんど見当たりません。今日必要なのは、ただメールアドレスとクレジットカードのみです。最近では様々なデータストレージサービスが生まれてきたからです。このようなサービスはクラウド環境で動いていて、一定期間料金を支払えば利用できる「subscription」(サブスクリプション)ベースであり、前払い方式ではなく、使用した分だけ課金される「pay as you go」(ペイアズユーゴー)方式が特徴です。SASでも様々なデータストレージサービスに対応していますが、今日はその情報について詳しくお伝えします。
02. SAS/ACCESSのご紹介
「SAS/ ACCESS」とは、SASと他のベンダーのデータストレージサービスを連携するインターフェースです。下記のような特徴があり、様々なデータストレージサービスとの連携を支援しています。
シームレスで透過的なデータアクセス (Seamless, transparent data access)
柔軟なクエリ言語のサポート (Flexible query language support)
パフォーマンスチューニングオプション (Performance tuning options)
性能最適化機能 (Optimization features for better performance)
より詳しい情報はこちらをご参照ください。
様々なデータストレージベンダーの中で、今回は「SAS/ACCESS INTERFACE TO SNOWFLAKE」を使って「Snowflake」というサービスに連携してみたいと思います。* Snowflakeの設定はこちらを見て事前に行いました。
3. SAS/ACCESSデモ
3-1. LIBNAME statementで連携
SASのLIBNAME statementで簡単にSnowflakeとの連携を行うことができます。連携することでSnowflakeのデータをDATA StepやSASプロシージャで参照することが可能になります。LIBNAME Statementのサンプルコードは下記のボックスをご参考ください。
LIBNAME mydblib sasiosnf server=mysrv1 database=test user=myusr1 password=mypwd1; proc print data=mydblib.customers; where state='CA'; run; |
それでは、実際にLIBNAME statementを使ってSnowflakeに連携してみましょう。
3-1-1. SAS Viyaの画面で左上にある「ナビゲーター」を押します。
3-1-2. SAS Studioに移動するため、「SASコードの開発」を選択します。
3-1-3. SAS Studioで新規プログラムを作り、LIBNAME Statementを作成し、そのコードを実行します。
今回は、DSN設定ありのケースとないケース両方やってみました。
3-1-4. 実行後、ログと作成したライブラリに問題がないか確認します。ログからちゃんとライブラリが作成できたことがわかりました。ライブラリ一覧からは「SNOW1」、「SNOW2」というライブラリが確認できます。
最後にSASに取り込んだデータとSnowflakeからのデータが同じであることもチェックします。(左はSAS Viya側のデータ、右はSnowflake側のデータ)
3-1-5. チェックが終わったらそのデータを用いた分析作業をやってみましょう。例えば、14歳以上の学生の名前と年齢を確認したい場合は下記のようにSAS コードを作成し、実行します。その結果は下記のキャプチャイメージからご確認ください。
また、学生の年齢割合をビジュアル化してみましょう。今回は円グラフを用意しました。
まとめてみると、外部のストレージサービスに保存されているデータがSASのLIBNAME statementを作成することで元々のSASデータセットであるように様々なタスクがSAS Viyaから可能になります。
3-2. CASLIB statementで連携
Data connectorという設定を行い、CASLIB statementを使うことでCASサーバーを用いたデータ分析もできます。Snowflakeの場合、「Snowflake Data Connector」というサンプルコードがありますので、下記をご参考ください。
caslib snowcaslib desc='your description' dataSource=(srctype='snowflake' server='your snowflake server' username=' your snowflake user name password=' your snowflake password' schema=' your snowflake schema' database=" your snowflake database"); |
*オプション、他のベンダーのData Connectorについては、こちらから確認できます。
CASLIB Statementコードを書いて連携を行い、ライブラリのパネルから「SNOWLIB」が確認できます。
それでは、データのビジュアル化をみてみましょう。
3-2-1. 左上のナビゲーターから「探索とビジュアル化」を押します。
3-2-2. SNOWLIBのデータをすぐ使うために「データを使用して開始」を選択します。
3-2-3. 「データソース」タブーから先程作ったCASLIBを探し、使いたいデータをロードします。
今回は、「3-1. LIBNAME statementで連携」で作った学生の年齢割合をVisual Analyticsの棒グラフでも作ってみました。左側の「オブジェクト」パネルから「ヒストグラム」を選んで作成することができます。
4. おわりに
今回のブログでは、データストレージサービスとSAS Viyaを接続する「SAS/ ACCESS」をご紹介し、クラウドデータストレージサービスの一つであるSnowflakeと連携する様子をご紹介しました。SASでは様々なストレージサービスに対応していますので、是非使ってみてください。最後まで読んでいただきありがとうございます。