SSIS で SQL Server から Snowflake へのデータフローを構築

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData SSIS Tasks for Snowflake を使用して、SQL Server データを Snowflake に簡単にプッシュできます。

SQL Server データベースは、エンタープライズレコードの保存に広く使用されています。このデータを他の場所に移動する必要がある場合がよくあります。CData SSIS Task for Snowflake を使用すると、Snowflake のデータを簡単に転送できます。この記事では、SQL Server から Snowflake にデータをエクスポートする方法を説明します。

Snowflake データ連携について

CData は、Snowflake のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • Snowflake データを迅速かつ効率的に読み書きできます。
  • 指定された Warehouse、Database、Schema のメタデータを動的に取得できます。
  • OAuth、OKTA、Azure AD、Azure マネージド サービス ID、PingFederate、秘密鍵など、さまざまな方法で認証できます。

多くの CData ユーザーは、CData ソリューションを使用して、お気に入りのツールやアプリケーションから Snowflake にアクセスし、さまざまなシステムからデータを Snowflake にレプリケートして、包括的なウェアハウジングと分析を行っています。

CData ソリューションとの Snowflake 統合についての詳細は、ブログをご覧ください:https://jp.cdata.com/blog/snowflake-integrations


はじめに


ソースとデスティネーションコンポーネントの追加

まず、新しい ADO.NET Source コントロールと新しい Snowflake Destination コントロールを Data Flow Task に追加します。

ADO.NET ソースの設定

以下の手順に従って、SQL Server インスタンスへの接続に必要なプロパティを指定します。

  1. ADO.NET Source を開き、新しい接続を追加します。ここでサーバーとデータベースの情報を入力します。
  2. Data access mode メニューで「Table or view」を選択し、Snowflake にエクスポートするテーブルまたはビューを選択します。
  3. ADO NET Source ウィザードを閉じ、デスティネーションコンポーネントに接続します。

Snowflake 用の新しい Connection Manager を作成

以下の手順に従って、Connection Manager で必要な接続プロパティを設定します。

  1. 新しい Connection Manager を作成します:Connection Manager ウィンドウで右クリックし、New Connection をクリックします。Add SSIS Connection Manager ダイアログが表示されます。
  2. メニューから CData Snowflake Connection Manager を選択します。
  3. 接続プロパティを設定します。

    それでは、Snowflake データベースに接続していきましょう。認証に加えて、以下の接続プロパティを設定します。

    • Url:お使いのSnowflake URL を指定します。例:https://orgname-myaccount.snowflakecomputing.com
      • Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
      • ご自身のURL は以下のステップで確認できます。
        1. Snowflake UI の左下にあるユーザー名をクリックします
        2. Account ID にカーソルを合わせます
        3. Copy Account URL アイコンをクリックして、アカウントURL をコピーします
    • Database(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
    • Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します

    Snowflakeへの認証

    CData 製品では、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、UserPassword を設定し、AuthScheme プロパティで認証方法を選択してください。

    キーペア認証

    ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、以下の値を設定してください。

    • User:認証に使用するユーザーアカウント
    • PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー
    • PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)
    • PrivateKeyPassword:指定されたプライベートキーのパスワード

    その他の認証方法については、ヘルプドキュメントの「Snowflakeへの認証」セクションをご確認ください。

Snowflake デスティネーションの設定

デスティネーションコンポーネントの Connection Manager で、SQL Server ソーステーブルから Snowflake デスティネーションテーブルへのマッピングと、Snowflake のデータに対して実行するアクションを定義します。この記事では、Products エンティティを Snowflake に挿入します。

  1. Snowflake Destination をダブルクリックして、デスティネーションコンポーネントエディタを開きます。
  2. Connection Managers タブで、先ほど作成した Connection Manager を選択します。
  3. Use a Table メニューで Products を選択します。 Action メニューで Insert を選択します。
  4. Column Mappings タブで、入力カラムからデスティネーションカラムへのマッピングを設定します。

プロジェクトの実行

これでプロジェクトを実行できます。 SSIS Task の実行が完了すると、SQL テーブルのデータが選択したテーブルにエクスポートされます。

はじめる準備はできましたか?

Snowflake SSIS Component の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Snowflake Enterprise Data Warehouse Icon Snowflake SSIS Components お問い合わせ

SSIS ワークフローでSnowflake に連携する送受信ポート。

Snowflake Data Flow Components を使ってSnowflake DWH データを双方向で連携操作。