Denodo Platform でSnowflake のデータソースを作成

CData JDBC ドライバを使ってDenodo Virtual DataPort Administrator でSnowflake のデータ の仮想データソースを作成します。

桑島義行
テクニカルディレクター

最終更新日:2022-02-28

この記事で実現できるSnowflake 連携のシナリオ

こんにちは!テクニカルディレクターの桑島です。

Denodo Platform は、エンタープライズデータベースのデータを一元管理するデータ仮想化製品です。CData JDBC Driver for Snowflake と組み合わせると、Denodo ユーザーはリアルタイムSnowflake のデータと他のエンタープライズデータソースを連携できるようになります。この記事では、Denodo Virtual DataPort Administrator でSnowflake の仮想データソースを作成する手順を紹介します。

最適化されたデータ処理が組み込まれたCData JDBC Driver は、リアルタイムSnowflake のデータを扱う上で比類のないパフォーマンスを提供します。Snowflake にSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をSnowflake に直接渡し、サポートされていない操作(主にSQL 関数とJOIN 操作)は組み込みSQL エンジンを利用してクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータ型を使ってSnowflake のデータを操作および分析できます。

Snowflake Virtual Port を作成

Denodo からリアルタイムSnowflake のデータに接続するには、JDBC Driver のJAR ファイルをDenodo の外部ライブラリディレクトリにコピーし、Virtual DataPort Administration Tool から新しいJDBC データソースを作成する必要があります。

  1. CData JDBC Driver for Snowflake インストーラーをダウンロードしてパッケージを展開し、JAR ファイルを実行してドライバーをインストールします。
  2. JAR ファイル(およびライセンスファイルがある場合はそれも)をインストール先(通常はC:\Program Files\CData\CData JDBC Driver for Snowflake\lib\)からDenodo 外部ライブラリディレクトリ(C:\Denodo\Denodo Platform\lib-external\jdbc-drivers\cdata-snowflake-19)にコピーします。
  3. Denodo Virtual DataPort Administration Tool を開き、Server Explorer タブに移動します。
  4. 「admin」を右クリックし、「New」->「Data source」->「JDBC」を選択します。 新しいJDBC データソースを作成
  5. JCBC Connection を設定します。
    • Name:任意の名前(例:snowflake)
    • Database adapter:Generic
    • Driver class path:C:\Denodo\Denodo Platform\lib-external\jdbc-drivers\cdata-snowflake-19
    • Driver class:cdata.jdbc.snowflake.SnowflakeDriver
    • Database URI:必要な接続プロパティを使用してJDBC のURL に設定。例えば次のようになります。

      jdbc:snowflake:User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;

      JDBC コネクションを設定(NetSuite の場合)

      Database URI の作成については以下を参照してください。

      組み込みの接続文字列デザイナー

      JDBC URL の作成の補助として、Snowflake JDBC Driver に組み込まれている接続文字列デザイナーが使用できます。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。

      java -jar cdata.jdbc.snowflake.jar

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      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(オプション):によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限します。
      • Schema(オプション):本製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限します。

      Snowflake への認証

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

      キーペア

      ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成することにより、キーペア認証を使用して認証できます。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、次の値を設定します。

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

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

      組み込みの接続文字列デザイナーを使ってJDBC URL を生成(Salesforce の場合)
  6. 「接続テスト」をクリックして設定を確認し、「保存」をクリックします。

Virtual DataPort Administration Tool でSnowflake のデータを表示

データソースを作成したら、Denodo Platform で使用するSnowflake のデータの基本ビューを作成できます。

  1. 新しく作成したVirtualPort(admin.Snowflake)で「Create base view」をクリックします。
  2. オブジェクトツリーを展開し、インポートしたいオブジェクト(テーブル)を選択します。 インポートするオブジェクトの選択(NetSuite の場合)
  3. 「Create selected」をクリックしてSnowflake のデータのビューを作成します。
    オプション:「Create associations from foreign keys」をクリックして、オブジェクト間の関係を定義します。
  4. ビューを作成した状態で、Server Explorer のテーブル(cdata_snowflake_products)に移動し、選択したテーブルをダブルクリックします。
  5. 新しいタブで「Execution panel」をクリックしてクエリパネルを開きます。
  6. 「Execute」タブでクエリをカスタマイズするか、デフォルトを使用します。
    SELECT * FROM cdata_snowflake_products CONTEXT ('i18n'='us_est', 'cache_wait_for_load'='true')
    
    データを表示するクエリを設定
  7. 「Execute」をクリックすると、データが表示されます。 データを表示

基本ビューを作成すると、Denodo Platform の他のデータソースと同様にリアルタイムSnowflake のデータを操作できるようになります。例えば、Denodo Data Catalog でSnowflake にクエリを実行できます。

CData JDBC Driver for Snowflake の30日の無償評価版をダウンロードして、Denodo Platform でリアルタイムSnowflake のデータの操作をはじめましょう!ご不明な点があれば、サポートチームにお問い合わせください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。