クラウドデータプラットフォーム「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バケットにデータ転送します。

  1. Datahub画面からジョブフロー > ジョブの設定 > ジョブを追加 > データテーブルからエクスポート > 外部サービス > 接続先の作成・管理 > Google Cloud Storage > 接続先に設定をクリックします。

  2. バケット名はDatahub画面から設定 > サービスアカウント管理 > GCSバケットへの権限付与済みGoogleサービスアカウント > バケット名から取得します。
    ※ファイルパスは必要に応じて指定してください。

  3. 実行方法を選択してスケジュールを設定し、保存して完了をクリックします。その後ジョブフローを実行してください。
    ※詳細はGoogle Cloud Storage エクスポートをご確認ください

払い出しGCSからSnowflakeへのデータコピー

Google Cloud Storageステージからのデータのコピーを参考に進めてください。
※以下ではsnowsqlを用いて実施していますが、Snowflakeの管理画面上から実施することも可能です。

  1. CREATE TABLEコマンドで払い出しGCSから取り込みたいcsvと同様のスキーマのテーブルを作成します。

  2. COPY INTO コマンドで払い出しGCSから取り込みたいcsvを上記で作成したテーブルにコピーします。

Snowflake -> KARTE Datahubのデータ連携

Snowflakeから払い出しGCSへのデータコピー

Google Cloud Storageへのアンロードを参考に進めてください。

  1. COPY INTO コマンドでSnowflakeから取り出したいテーブルを払い出しGCSにコピーします。コピーされたテーブルはgzipで圧縮されたcsvとして払い出しGCSに格納されます。
    ※GCSはgzip圧縮されたファイルもインポート可能です。

GCSからKARTE Datahubへのデータインポート

ジョブフローを用いて払い出しGCSバケットからデータ転送します。

  1. Datahub画面からジョブフロー > ジョブの設定 > ジョブを追加 > データテーブルへインポート > 外部サービス > 接続先からGoogle Cloud Storageを選択します。

  2. エクスポートの際と同様に個別設定を行います。
    ※詳細はGoogle Cloud Storage インポートをご確認ください

  3. 実行方法を選択してスケジュールを設定し、保存して完了をクリックし、その後ジョブフローを実行してください。