SPSS Modelerでテーブルに書き出す際に、通常はSQLのINSERT文が使われます。INSERTは特にカラム表(Db2 Warehouse, Redshiftなど)に対して非常に遅いという問題があります。この場合ODBCバッチを使うという方法と外部ローダーを使うという方法があります。外部ローダーを使う方法があります。外部ローダーを使う方法は以下の記事に書きましたので、この記事ではODBCバッチを使う方法を紹介します。数十倍の速度が出ることもよくあります。
SPSS Modelerの外部ローダーを使う(Db2編) - Qiita
- テスト環境
- Modeler 18.4
- Windows 11 64bit
- Db2 Warehouse on cloud
*サンプルストリーム
デフォルトINSERT実行テスト
以下のようなデータをロードしてみます。日本語も含まれています。1万件のデータです。
「DBエクスポート」ノードを接続し、データソースとテーブル名を設定し、「詳細」をクリックします。
「バルクロードを使用」が「オフ」のままですので、ODBCバッチINSERTは行われません。
デフォルトINSERT実行テスト
「詳細オプション」で「バルクロードを使用」が「ODBC経由」にするとODBCバッチINSERTがおこなわれます。ODBCバッチINSERTに対応しているかどうかはODBCドライバーとRDBによります。
なお、バッチサイズを変更することでチューニングが可能です。
注意
ODBCバルクロードはRDBによっては圧縮効率が悪いことがあります。それが問題になる場合は、外部ローダーなどを検討いただく必要があります。
参考
データベース・エクスポートの拡張オプション - IBM Documentation
SPSS Modelerの外部ローダーを使う(Db2編) - Qiita