Snowflake
クラウドデータプラットフォーム「Snowflake」と双方向のデータ連携が可能です。
データ連携のパターン
- 以下の連携が可能です
- Datahub上のデータをSnowflakeへ送る
- Snowflake上のデータをDatahubへ送る
注意点
- 連携サービス側の設定やプランによっては、意図した通りに連携できない可能性があります。
- 必ず、事前に連携検証を実施してください。
Snowflake側で事前に必要な設定
Google Cloud Storageの統合の構成を参考に「クラウドストレージ統合」の作成及び「Snowflakeアカウント用のCloud Storage Serviceアカウント」を取得してください。
また、Google Cloud Storage(以下GCSと記す)を参照するために必要な「外部ステージ」の作成を実施してください。
KARTE Datahub側で事前に必要な設定
GCSバケットの払い出しをする
本ドキュメントではKARTE Datahubの払い出しGCSを使う場合を想定して説明をします。
※KARTE Datahubの払い出しGCSについてはKARTEが払い出したGCSバケットを利用するをご覧ください。
Cloud Storage Serviceアカウントの登録
Snowflakeで取得したCloud Storage ServiceアカウントをDatahubに登録します。
登録はDatahubの画面から設定 > サービスアカウント管理 > GCSバケットへの権限付与済みGoogleサービスアカウント > 権限付与 で「未登録のサービスアカウント」にチェックを入れ、入力欄に「SnowflakeのSTORAGE_GCP_SERVICE_ACCOUNT」を入力し実行ボタンをクリックしてください。
KARTE Datahub -> Snowflakeのデータ連携
KARTE Datahubから払い出しGCSへのデータエクスポート
ジョブフローを用いて払い出しGCSバケットにデータ転送します。
-
Datahub画面からジョブフロー > ジョブの設定 > ジョブを追加 > データテーブルからエクスポート > 外部サービス > 接続先の作成・管理 > Google Cloud Storage > 接続先に設定をクリックします。
-
バケット名はDatahub画面から設定 > サービスアカウント管理 > GCSバケットへの権限付与済みGoogleサービスアカウント > バケット名から取得します。
※ファイルパスは必要に応じて指定してください。 -
実行方法を選択してスケジュールを設定し、保存して完了をクリックします。その後ジョブフローを実行してください。
※詳細はGoogle Cloud Storage エクスポートをご確認ください
払い出しGCSからSnowflakeへのデータコピー
Google Cloud Storageステージからのデータのコピーを参考に進めてください。
※以下ではsnowsqlを用いて実施していますが、Snowflakeの管理画面上から実施することも可能です。
-
CREATE TABLEコマンドで払い出しGCSから取り込みたいcsvと同様のスキーマのテーブルを作成します。
-
COPY INTO コマンドで払い出しGCSから取り込みたいcsvを上記で作成したテーブルにコピーします。
Snowflake -> KARTE Datahubのデータ連携
Snowflakeから払い出しGCSへのデータコピー
Google Cloud Storageへのアンロードを参考に進めてください。
- COPY INTO コマンドでSnowflakeから取り出したいテーブルを払い出しGCSにコピーします。コピーされたテーブルはgzipで圧縮されたcsvとして払い出しGCSに格納されます。
※GCSはgzip圧縮されたファイルもインポート可能です。
GCSからKARTE Datahubへのデータインポート
ジョブフローを用いて払い出しGCSバケットからデータ転送します。
-
Datahub画面からジョブフロー > ジョブの設定 > ジョブを追加 > データテーブルへインポート > 外部サービス > 接続先からGoogle Cloud Storageを選択します。
-
エクスポートの際と同様に個別設定を行います。
※詳細はGoogle Cloud Storage インポートをご確認ください -
実行方法を選択してスケジュールを設定し、保存して完了をクリックし、その後ジョブフローを実行してください。
Updated 3 months ago