MicroStrategy でCData JDBC Driver を使ってSnowflake に接続

加藤龍彦
加藤龍彦
デジタルマーケティング
CData JDBC Driver を使用してMicroStrategy Developer のSnowflake に接続します。

MicroStrategy は、データ主導のイノベーションを可能にする、モビリティプラットフォームです。MicroStrategy をCData JDBC Driver for Snowflake とペアリングすると、MicroStrategy からリアルタイムSnowflake へのデータベースのようなアクセスが得られ、レポート機能と分析機能が拡張されます。この記事では、MicroStrategy Developer でSnowflake のデータベースインスタンスを作成し、Snowflake のWarehouse Catalog を作成します。

CData JDBC ドライバーは、ドライバーに組み込まれた最適化されたデータ処理により、MicroStrategy でリアルタイムSnowflake と対話するための圧倒的なパフォーマンスを提供します。MicroStrategy からSnowflake に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をSnowflake に直接プッシュし、組み込みSQL エンジンを利用して、サポートされていない操作(一般的にはSQL 関数とJOIN 操作) をクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブのMicroStrategy データタイプを使用してSnowflake を視覚化および分析できます。

MicroStrategy Developer のSnowflake に接続

CData JDBC Driver for Snowflake に基づくデータベースインスタンスを追加することにより、MicroStrategy Developer のSnowflake に接続できます。* 開始する前に、MicroStrategy Developer のインスタンスが接続されているMicroStrategy Intelligence Server をホストとするマシンにJDBC Driver for Snowflake をインストールする必要があります。

  1. MicroStrategy Developer を開き、[Project Source]を選択します。
  2. [Administration]->[Configuration Managers]->[Database Instances]と進み、右クリックして新しいインスタンスを追加します。 新規データベースインスタンスの作成
  3. インスタンスに名前を付け、データベース接続タイプとしてGeneric DBMS を選択し、新しいデータベース接続を作成します。 新規データベース接続の作成
  4. データベース接続ウィザードで接続に名前を付け、新しいデータベースログイン名を作成してSnowflake のユーザーとパスワードを設定します。 新規データベースログインの作成
  5. 接続ウィザードの[Advanced]タブで、追加の接続文字列パラメータを以下のように設定します。
    • JDBC キーワードを接続文字列に追加します。
    • MSTR_JDBC_JAR_FOLDER をJDBC ドライバーのJAR ファイルを含むディレクトリのパスに設定します。(C:\Program Files\CData JDBC Driver for Snowflake\lib\ on Windows.)
    • DRIVER をドライバークラスであるcdata.jdbc.snowflake.SnowflakeDriver に設定します。
    • URL をSnowflake ドライバーのJDBC URL に設定します。これには、必要な接続プロパティが含まれています。

      それでは、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への認証」セクションをご確認ください。

      ビルトイン接続文字列デザイナ

      JDBC URL の構成については、Snowflake JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

      java -jar cdata.jdbc.snowflake.jar
      

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

      接続文字列ビルダーでJDBC URL を作成

      JDBC URL を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。

    以下は、一般的な追加の接続文字列プロパティです。

    JDBC;MSTR_JDBC_JAR_FOLDER=PATH\TO\JAR\;DRIVER=cdata.jdbc.snowflake.SnowflakeDriver;URL={jdbc:snowflake:User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;};
    
    Configuring the connection toSnowflake のデータusing JDBC.
  6. ODBC データソースが選択されていないことを確認し、(これによりMicroStrategy がトリガーされ、追加の接続文字列パラメータを使用してデータベースインスタンスが構築されます)[OK]をクリックします。
  7. [OK]をクリックし、データベースインスタンスウィザードを閉じます。
  8. [Project Source]でプロジェクトを右クリックし、[Project configuration]を開きます。
  9. [Database Instances]に移動し、新しく作成したデータベースインスタンスを選択して[OK]をクリックします。 Adding the new database instance to the project.
  10. MicroStrategy Developerを閉じ、接続されたMicroStrategy Intelligence Server を再起動してデータベースインスタンスの作成を完了します。

データベースインスタンスを構成すると、Warehouse Catalog およびData Import からSnowflake に接続できるようになります。

Warehouse Catalog からSnowflake のデータに接続する

JDBC Driver for Snowflake に基づいてデータベースインスタンスを作成すると、Warehouse Catalog のデータに接続できます。

  1. プロジェクトを選択し、[Schema]->[Warehouse Catalog]をクリックします。 Creating the Warehouse Catalog
  2. [Read Settings for the Catalog]で[Settings]をクリックし、スキーマを取得するためのクエリを設定します。
    • テーブルのリストを取得するには、以下のクエリを使用します。
      SELECT
        *
      FROM
        SYS_TABLES
              
    • 選択したテーブルの例のリストを取得するには、以下のクエリを使用します。
      SELECT DISTINCT
        CatalogName NAME_SPACE,
        TableName TAB_NAME,
        ColumnName COL_NAME,
        DataTypeName DATA_TYPE,
        Length DATA_LEN,
        NumericPrecision DATA_PREC,
        NumericScale DATA_SCALE
      FROM
        SYS_TABLECOLUMNS
      WHERE
        TableName IN (#TABLE_LIST#)
      ORDER BY
        1,2,3
              
    Custom metadata queries.
  3. プロジェクトで使用するテーブルを選択します。 Selecting tables to be used in the project.

MicroStrategy のCData JDBC Driver for Snowflake を使用すると、Snowflake で安定したビジュアライズとレポートを簡単に作成できます。詳細については、MictroStrategy でのSnowflake への接続MicroStrategy Desktop でのSnowflake への接続 に関するほかの記事をお読みください。


NoteJDBC Driver を使用して接続するには、3層から4層のアーキテクチャが必要です。

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

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

 ダウンロード

詳細:

Snowflake Enterprise Data Warehouse Icon Snowflake JDBC Driver お問い合わせ

驚くほど簡単にJDBC でJava アプリケーションからSnowflake にデータ連携!