SAS ViyaではCAS(Cloud Analytic Services)と呼ぶインメモリのデータベースエンジンを搭載しています。今回はローカルにあるデータを読み込んで、表示を確認する流れを紹介します。実装はPythonで行っています。
ライブラリのインポート
swatというライブラリを使います。swatというのは Scripting Wrapper for Analytics Transfer の略です。
from swat import *
SAS Viyaへの接続
まずSAS Viyaへの接続です。必要なのはホスト、ポート番号、ユーザ名とパスワードです。
cashost='localhost'
casport=5570
useremail='USER_EMAIL'
userpassword='PASSWORD'
そして接続します。
sess = CAS(cashost, casport, useremail, userpassword, caslib="casuser")
テーブルアクションセットの用意
今回はデータをテーブルに読み込むので、テーブルアクションセットを用意します。
sess.loadactionset(actionset="table")
データの読み込み
そして例えば /opt/sasinside/DemoData
以下にあるデータを読み込みます。 sas7bdat
というのはSASで作ったファイルに使われる拡張子です。
indata_dir="/opt/sasinside/DemoData"
indata="bank_raw"
if not sess.table.tableExists(table=indata).exists:
tbl = sess.upload_file(indata_dir+"/"+indata+".sas7bdat", casout={"name":indata})
データを確認する
データを確認する際には head
メソッドを使います。
tbl.head()
そうするとデフォルトで5行のデータが表示されます。
b_tgt | cat_input1 | cat_input2 | cnt_tgt | demog_age | demog_ho | demog_pr | int_tgt | r_demog_homeval | r_demog_inc | ... | rfm6 | rfm7 | rfm8 | rfm9 | rfm10 | rfm11 | rfm12 | demog_genf | demog_genm | account |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1.0 | X | A | NaN | NaN | 0.0 | 24.0 | 7000.0 | 57600.0 | 52106.0 | ... | 22.0 | 4.0 | 6.0 | 5.0 | 20.0 | 9.0 | 92.0 | 0.0 | 1.0 |
1 | 1.0 | X | A | 2.0 | NaN | 0.0 | 24.0 | 7000.0 | 57587.0 | 52106.0 | ... | 22.0 | 4.0 | 6.0 | 5.0 | 20.0 | 9.0 | 92.0 | 0.0 | 1.0 |
2 | 1.0 | X | A | 2.0 | NaN | 0.0 | 0.0 | 15000.0 | 44167.0 | 42422.0 | ... | 16.0 | 3.0 | 8.0 | 16.0 | 27.0 | 11.0 | 91.0 | 0.0 | 1.0 |
3 | 0.0 | X | A | 0.0 | 68.0 | 0.0 | 32.0 | NaN | 90587.0 | 59785.0 | ... | 21.0 | 2.0 | 7.0 | 15.0 | 19.0 | 9.0 | 123.0 | 1.0 | 0.0 |
4 | 0.0 | X | A | 0.0 | NaN | 0.0 | 0.0 | NaN | 100313.0 | NaN | ... | 38.0 | 5.0 | 19.0 | 24.0 | 13.0 | 6.0 | 128.0 | 1.0 | 0.0 |
tbl.head(10)
とすれば10行の結果が返ってきます。
テーブル情報を確認する
テーブルの型やどれくらいのデータがあるかと言った情報は tbl.info()
で取得できます。
N Miss Type
b_tgt 1060038 False double
cat_input1 1060038 False char
cat_input2 1060038 False char
cnt_tgt 1060037 True double
demog_age 793177 True double
demog_ho 1060038 False double
:
demog_genf 1060038 False double
demog_genm 1060038 False double
account 1060038 False char
dtypes: char(3), double(22)
data size: 220487904
vardata size: 0
memory usage: 2394080
ディープラーニングを使ってデータを解析していく際にはデータを確認しながらステップバイステップで行っていくかと思います。テーブルの情報を確認する際には上記を参考にしてください。