SPSS Modeler × データベースで分析・予測処理を高速・簡単に実行! SQLプッシュバック機能のご紹介
投稿者:青島
SPSS Modelerをお使いのユーザー様のよくある課題・悩み
SPSS Modelerで数億件といった大規模なデータを扱った分析を実行する場合に、「処理がなかなか終わらない」「結果が返ってこない」といった経験をすることも多いかと思われます。
SPSS Modelerをデータベースと連携することで、そういった悩みを解決する機能SQLプッシュバック機能が利用可能です。
SQLプッシュバック機能とは
SPSS Modelerが得意な処理のひとつとしてデータ加工があります。簡単な操作で分析に必要なデータを揃えられることはアナリストにとって大きな助けになります。
しかし扱うデータが大規模になった場合は、ローカルPC での Diskの読み書きに時間がかかってしまい処理が遅延する可能性があります。例えばデータのソートや集計、結合などは多くのデータの読み書きが発生しますが、それらの処理は本来は分析専用のデータベースが得意とするエリアです。
そこでデータベースが得意な処理をSPSSが実行するのではなく、データベースに依頼することを可能とするのがSQLプッシュバック機能です。
図のように二つのファイルを結合してから集計していた処理で具体的にご覧いただきます。
入力をファイルからデータベースに変更してストリームを再作成することで、実際の実行時にはデータベースに依頼できる処理をSQLに自動変換し、データベース側で欲しいデータに加工することが可能となるわけです。
また、SQLプッシュバック機能の利用は設定だけで簡単に実装することが可能なので、大規模データを扱うアナリストが使わない選択肢はありません。
SQLプッシュバック機能のメリット
SQLプッシュバック機能のメリットは何と言っても、分析専用データベースなどを利用した圧倒的な処理パフォーマンスを得られることです。
SQLプッシュバック機能の実例をひとつご覧いただきます。
購買データ約1000万件と会員データを結合させ、性別ごとに商品の購買金額を集計する処理をcsvファイルからデータを読み込んだ場合と、
データベースと連携させた場合でそれぞれ実行し、SQLプッシュバックの機能がある場合とない場合の処理スピードの比較を行いました。
分析専用データベースとしてDb2 warehouseをSPSS Modelerと連携させ、その強力なリソースを使用することで大幅なパフォーマンスの改善がお分かりになるかと思います。