Dremio でSnowflake のデータに外部ソースとして接続

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData JDBC Driver を使用して、Dremio でSnowflake に外部ソースとして接続します。

CData JDBC Driver for Snowflake はJDBC 標準を実装しており、Dremio を含むさまざまなアプリケーションでリアルタイムのSnowflake のデータを扱えるようにします。Dremio は、データレイク上でのセルフサービス型インタラクティブ分析を実現するために設計されたデータレイクハウスプラットフォームです。CData JDBC ドライバーを使用することで、エンタープライズデータレイクの一部としてリアルタイムSnowflake のデータを活用できます。この記事では、Dremio でSnowflake のデータに外部ソースとして接続する方法について説明します。

CData JDBC Driver を使用すると、Dremio でリアルタイムSnowflake のデータへの高速アクセスが可能になります。ドライバーをインストールしてSnowflake で認証すれば、データレイク内でSnowflake のデータにすぐにアクセスできます。ネイティブのデータ型を使用してSnowflake のデータを表示し、複雑なフィルタ、集計、その他の操作を自動的に処理することで、CData JDBC Driver は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


はじめに


前提条件

この記事では、Docker を使用して Dremio を実行することを想定しています。以下のようなコマンドで Dremio サービスを含む Docker コンテナを作成できます。

docker run -d --name dremio -p 9047:9047 -p 31010:31010 dremio/dremio-oss

ここで、dremio はコンテナの名前、9047 は Dremio Web インターフェース用のコンテナポート、31010 は Dremio クエリサービスにマッピングされるポートです。dremio/dremio-oss は使用するイメージを指定します。

ARP コネクタのビルド

CData JDBC Driver を Dremio で使用するには、Advanced Relation Pushdown(ARP)コネクタをビルドする必要があります。GitHub でソースコードを確認するか、ZIP ファイル(GitHub.com)を直接ダウンロードできます。ファイルをコピーまたは展開したら、コネクタのルートディレクトリ(pom.xml ファイルがあるディレクトリ)から以下のコマンドを実行してコネクタをビルドします。

mvn clean install

NOTE:CData ARP コネクタは Java 11 でコンパイルするようにビルドされています。Java 11 をインストールし、正しいバージョンを使用していることを確認してください。以下のようなコマンドで Java バージョンを更新できます。

sudo update-alternatives --config java

コネクタ用の JAR ファイルが(target ディレクトリに)ビルドされたら、ARP コネクタと JDBC Driver を Dremio インスタンスにコピーする準備が整いました。

コネクタと JDBC Driver のインストール

ARP コネクタを %DREMIO_HOME%/jars/ に、Snowflake 用の JDBC Driver を %DREMIO_HOME%/jars/3rdparty にインストールします。以下のようなコマンドを使用できます。

ARP コネクタ

docker cp PATH\TO\dremio-snowflake-plugin-{DREMIO_VERSION}.jar dremio_image_name:/opt/dremio/jars/

Snowflake 用 JDBC Driver

docker cp PATH\TO\cdata.jdbc.snowflake.jar dremio_image_name:/opt/dremio/jars/3rdparty/

Snowflake への接続

これで、Dremio の外部ソースオプションに Snowflake が表示されるようになりました。ビルドした ARP コネクタは、JDBC URL を使用してSnowflake のデータに接続します。JDBC Driver には、接続文字列を作成できるビルトインの接続文字列デザイナーがあります(以下を参照)。

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

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

Snowflakeへの認証

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

キーペア認証

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

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

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

NOTE:Dremio で JDBC Driver を使用するには、ライセンス(正式版または評価版)とランタイムキー(RTK)が必要です。このライセンス(または評価版)の取得については、営業チームにお問い合わせください

ランタイムキー(RTK)を JDBC URL に追加します。最終的に、以下のような JDBC URL になります。

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

Snowflake に外部ソースとしてアクセス

Snowflake を外部ソースとして追加するには、新しいソースを追加するためにクリックし、Snowflake を選択します。JDBC URL をコピーして、New Snowflake Source ウィザードに貼り付けます。

接続を保存すれば、Dremio でリアルタイムSnowflake のデータをクエリする準備が整い、Snowflake のデータをデータレイクに簡単に取り込むことができます。

詳細情報と無償トライアル

Dremio で CData JDBC Driver for Snowflake を使用すると、リアルタイムSnowflake のデータをデータレイクに取り込むことができます。Snowflake への接続の詳細については、CData JDBC Driver for Snowflake ページをご覧ください。CData JDBC Driver for Snowflake の30日間無償トライアルをダウンロードして、今すぐ始めましょう。

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

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

 ダウンロード

詳細:

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

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