EAI/ETL技術者のブログ

クラウド・SaaS連携

Snowflakeアダプタ使ってみた

公開日:
更新日:
クラウド・SaaS連携
#DataSpider
#EAI
#SaaS
#Snowflake
#DWH

2025年2月5日にDataSpider Ver.4.5 SP1がリリースされ、ついにSnowflakeアダプタが搭載されたとのことで、実際にアダプタを使ってみました。


事前準備

Snowflakeアダプタを使用する際の準備は特に不要です。通常DBアダプタを使うときにはJDBCドライバを置く必要がありますが、Snowflakeアダプタでは、JDBCドライバがDataSpiderのインストールディレクトリ配下に最初から同梱されているため、ユーザー側でJDBCドライバをダウンロードして配置する必要はありません。

グローバルリソース設定

設定イメージは以下の通りです。

また、以下の通りキーペア認証にも対応しています。
パスフレーズ付きの秘密鍵の対応もしています!

秘密鍵は、DataSpiderファイルシステム(インストールディレクトリ配下)に配置する必要があります。/data配下に配置するのが一般的です。

処理アイコン(COPY INTO)の内容確認

使えるアイコンは以下の5つです。

  • テーブル読み取り

  • 検索系SQL実行

  • テーブル書き込み

  • 更新系SQL実行

  • COPY INTO テーブル実行

COPY INTO以外のアイコンは、他のDB系のアダプタと操作感が同じなので、今回は省略します。
COPY INTOアイコンの設定項目を1つずつ見ていきます。
(データ処理方式とコメントは他アダプタと同じなので省略)

必須設定

こちらは接続先にグローバルリソースを指定したうえで、ステージ名とテーブル名が必須項目になっています。

「ステージ一覧の取得」をクリックすると、ステージ名をプルダウンから選べるようになります。ステージは外部ステージも内部ステージも選択可能です。

ここで嬉しいポイントは、ステージ上のファイル/フォルダパスの入力欄でスクリプト変数を使えるところです。バケットのプレフィックスを日付や月ごとに切っているケースなどは多々あると思うので、そういうケースに対応できそうですね。

以下では、スクリプト変数に現在の日付を代入しています。上記のように、ステージ上パスにスクリプト変数を使って読み取る値を動的に変更したい場合は、事前にスクリプト変数に値を代入しておく必要があります。

また、テーブル名もプルダウンから選ぶことができます。
もちろん、COPYコマンドを直接書くことも可能です。

ファイル指定設定

以下の通り、正規表現マッチやファイル名指定でのロードが可能です。

それぞれ、SnowflakeのCOPYコマンドのPATTERNオプション、FILESオプションに対応しています。


ファイル名指定のとき、スクリプト変数が使えるのでこれも使い道があるかもしれませんね。

ファイル形式設定

Snowflakeにインポートするデータファイルのフォーマット(例: CSV、JSON、Parquetなど)を指定することができます。こちらは、直書きが必要です。

列対応設定

SnowflakeのMATCH_BY_COLUMN_NAMEオプションに対応した設定となります。
こちらの設定では、データソースの列とテーブルの列をどのように対応させてデータをロードするのか決めることができます。
また、Table Schema Evolutionオプションを有効化にすると、データソースに新しくスキーマが追加されたとしても自動でテーブルに列を追加することができるようになります。

エラー設定

COPY INTOでよく使われるON_ERRORオプションに対応した設定となります。

処理アイコン(COPY INTO)の実行

以下のフローにて処理を実行してみました。

処理実行に成功しました!

Snowsight画面からも確認すると、問題なくCOPY INTOが実行されたことがわかります。

まとめ

以上、Snowflakeアダプタの機能紹介でした。少しでも皆様の参考になれれば幸いです。
また、Snowflakeアダプタ導入に際して事前にアダプタ検証を行うことも可能です。
ご要望ございましたら、ぜひ以下のフォームよりお問い合わせください。

ページトップへ戻る