SAS ViyaではCData JDBC Driverを使って下記のソーシャルメディア・ファイルストレージサービスにシームレスにかつ、素早く連結できます。
・Google Analytics
・Google Drive
・Microsoft OneDrive
・Odata
・YouTube Analytics
本日はCData JDBCドライバーを使ってTwitterと連携し、「天気」に関するツイートを取得してみたいと思います。順番通り説明しますので、最後までお読みいただき、皆さんも是非ご活用ください。
1. Twitter API利用申請
Twitter Developer PlatformにてTwitter APIの利用申請を行います。申請にあたり、名前と住んでいる地域、利用目的などの情報を提供する必要がありますので、事前に用意しておいてください。また、利用申請の承認はTwitter側で数日かかる場合がありますのでご了承ください。
Twitter APIの利用申請が終わったら、申請完了のメールが届きます。
また、申請の検討が終わり、Twitter APIが利用できる状態になりましたら、「Account Application Approved」というメールが届きます。
2. CData Twitter JDBC Driverインストール
インストールにはSASの契約とは別途、CData社との契約が必要ですが、30日間トライアルで使うことも可能ですので、ご紹介します。
まず、CData Twitter JDBC Driverインストールページにアクセスします。
次に、Downloadクリックします。
Download Trialをクリックします。
適切なOSを選択してDownloadをクリックします。今回はWindowsを選択しました。
ダウンロードされたTwitterJDBCDriver.exeファイルを開き、画面に表示されるステップに従ってインストールを完了します。
3. Connection String生成
インストールされたCData Twitter JDBC Driverを開き、下記のプロパティを設定します。
・ UseAppOnlyAuthentication
・ InitiateOAuth
・ OAuthClientSecret
・ UseAppOnlyAuthentication:FalseからTrueに設定します。
・ InitiateOAuth : OFFからGETANDREFRESHに設定します。
・ OAuthClientSecret: Twitter API Key Secretを入力します。
設定が終わりましたら、画面下にある「Connection String」を確認し、「Test Connection」をクリックしてテストします。設定に問題なければ、「Connection successful」というポップアップメッセージが表示されます。
「Copy to Clipboard」をクリックし、Connection Stringをコピーしておきます。
4. Viyaとの連結
SAS Studioを開き、SASプログラムを作成します。マクロ変数を利用して連携情報を保存します。「ペーストconnection string」は、先程コピーしたConnection Stringに入れ替えます。
%let connection =%nrbquote(ペーストconnection string); |
JDBCエンジンを利用するLibnameでTwitterと連携できます。
libname tw jdbc url="&connection" preserve_names=yes; |
画面右側のライブラリペインより「tw」というライブラリが生成されます。
ツイッターの探索は「SearchTerms」でキーワードを指定することで可能となります。
例えば、「天気」という単語で2000件のツイッターを探索し、WORKライブラリに「weather」という名前で保存します。
data weather; set tw.tweets(obs=2000); where SearchTerms="天気"; run; |
WORKライブラリに「weather」というテーブルが作成できました。
もし、SAS Visual Analyticsでデータを可視化したければ、テーブルをCASにロードし、画面をVisual Analyticsに移動して作業を進めることができます。今回はSAS「テキストトピック」機能を利用してワードクラウドを作成してみました。テキストトピックとワードクラウドについては前回のブログでご説明しましたので、ご興味ありましたら是非読んでみてください。
/* CASにロード */ proc casutil; load data=weather outcaslib="PUBLIC" casout="weather" promote; run; |
最後に、リアルタイムでツイートを呟くことも簡単にできます。
下記の例では、sashelpライブラリのclassテーブルのデータ数をカウントし、そのカウント情報を含めてツイートします。
data _null_ ; dsid=open("sashelp.class") ; call symput("nbobs",strip(put(attrn(dsid,"NOBS"),8.))) ; dsid=close(dsid) ; run ; proc sql ; insert into tw.tweets(Text) values ("SAS Classの皆さん、こんにちは!今年は &nbobs 名の生徒たちと楽しく勉強していきます!") ; quit ; |
SAS ViyaではTwitter以外にも、最初にお話した通り、様々なソーシャルメディア・ファイルストレージサービス上のデータを読み込み、素早く連結でき、ビジネスに役立てられる洞察を得ることができますので、是非試してみてください。