StreamSetsをSnowflakeに統合する
このガイドでは、StreamSetsをSnowflakeに統合する手順を説明します。
前提条件
- StreamSetsのアカウント
- DockerのData Collector(前のガイドに記載の通り)
- Snowflakeのアカウント
- WHOISXMLAPI.COMのReal-Time Domain Registrationのサブスクリプション
設計の概要
Snowflakeでデータベースを作成する
ステップ1: ウェアハウスをセットアップする
- ログイン後、サイドバーの「Admin」から「Warehouses」を選択し、以下の画像のように「Warehouse」ボタンをクリックしてください。
- 適切なウェアハウス名を選択し、「Create Warehouse」をクリックしてください。
ステップ2:データベースをセットアップする
- サイドバーの「Data」を選択し、「Databases」を選んでクリックします。
- 適切なデータベース名を選び、「Create」をクリックします。
ステップ3:スキーマを作成する
- データベースを選択し、「+Schema」をクリックします。
- 適切なスキーマ名を選択し、「Create」をクリックします。
ステップ4:ステージを作成する
- 前のステップで作成されたスキーマを選んで「Create」をクリックし、「Stage」を選択します。そして、「Snowflake Managed」をクリックします。
- 適切なステージ名を選び、「Create」をクリックします。
ステップ5:テーブルを作成する
- 上の手順で作成されたスキーマを選んで「Create」ボタンをクリックし、「Table」を選択します。そして、「Standard」をクリックします。
- 下図のようにSQLクエリを記述してテーブルを作成し、「Create Table」をクリックします。
Snowflakeのコネクションを作成する
ステップ6: コネクションをセットアップする
- StreamSets UIでサイドバーから「Setup」、「Connections」を選択します。下図のように、「+」ボタンをクリックしてコネクションを作成します。
- 新しいコネクションを仕様に従ってカスタマイズし、「Save & Next」をクリックして進みます。データコレクタとタイプを選択してください。
- あなたの認証情報に従って新しいコネクションを設定し、「Save」をクリックして進みます。必ずコネクションのテストを行なってください。
パイプラインを作成する
ステップ7:パイプラインをセットアップする
- StreamSets UIでサイドバーから「Build」、「Pipelines」を選択します。下図のように、「+」をクリックしてパイプラインを開始します。
- 新しいパイプラインを仕様に合わせてカスタマイズし、「Next」をクリックして進みます。
- パイプラインの設定を調整して指定のデータコレクタを選択し、「Save & Open in Canvas」をクリックします。
- 以下のようなユーザーインターフェース(UI)が表示されます。
- 「Add Stage」をクリックし、次に「WebSocket」を検索します。そして、「WebSocket Client」を選択します。
WebSocketステージを選択し、必要に応じて設定します。
WebSocketを設定する
- Resource URLを追加します。
- Request Dataを追加します(APIキーが入ります)。
- Max Message Length (bytes)に入力します(最小値:522184)。
データフォーマットの設定
- Data FormatでJSONを選択します。
- Max Object Length (chars)に9999999を入力します(必要に応じて変更できます)。
- UIで「Add Stage」を選んでステージを追加し、「Snowflake (destinations)」ステージを選択します。
Snowflakeを設定する
- 前のステップで作成したコネクションを選択します。
- SnowflakeのConfigurationでWarehouse、Database、Schema、Tableを入力します。「Create New Columns」にチェックを入れると、自動的にテーブルにカラムが作成されます。
- StagingのConfigurationでStage Name、Stage Database、Stage Schemaに記入します。
- DataのConfigurationに設定を記入します。
最終ステップ
設定後、「Validate」をクリックしてパイプラインを検証し、エラーを修正します。パイプラインの最終状態は、下図のようになっているはずです。
パイプラインを実行する
UIで「Draft Run」、「Start Pipeline」を選択してパイプラインを実行します。
前述の手順を完了してパイプラインを起動すると、下図のようなUIが表示されます。
Snowflakeデータベース内で、WebSocketから取得したデータを含むテーブル上のデータを下図のようにプレビューできるはずです。
まとめ
本ガイドでは、Dockerを使用してStreamSets UIでパイプラインを設定および実行する手順を概説しました。WebSocket Clientの設定からSnowflakeステージの定義までの各ステップが、データ処理のパイプライン構築に貢献しています。検証ステップではパイプラインの整合性を担保し、実行に成功するとSnowflakeのUIにアウトプットが表示されます。このガイドで説明した手順を踏むことで、合理的なデータ処理パイプラインの作成、設定および実行、ならびにデータの効果的な統合と管理を実現できます。