最近、JMP 19でRESTベースのSnowflakeデータコネクタを使用する方法について情報共有してほしいというリクエストをいくつかいただきました。
幸運なことに、すでにそれに関する動画を作っていました!これまでで一番簡単な投稿でした。
JMPの使用方法に直接アクセスしたい場合は、2:11のタイムスタンプをご覧ください。
書き起こし(概算):
私の名前はクリスです。JMPのソフトウェア開発者です。JMP 19で新しく追加されたRESTベースのSnowflakeデータコネクタについて情報をお伝えしたいと思います!
このコネクタを使用することで、ユーザーはODBCベースのSnowflakeコネクタと比較してパフォーマンスの向上を実感できます。さらに、RESTベースのコネクタは、ODBC SnowflakeドライバをインストールすることなくJMPで動作します。
目的
今日は以下の内容を取り上げます。
- Snowflakeとは何ですか?
- RESTベースのSnowflakeコネクタを使用するメリットは何ですか?
- RESTベースのSnowflakeコネクタの設定方法と接続方法。
- トラブルシューティングのヒントをいくつかご紹介します。
Snowflakeとは何ですか?
Snowflakeを初めて使う人のために説明すると、Snowflakeは「全く新しいSQLクエリエンジンと、クラウド向けにネイティブに設計された革新的なアーキテクチャを組み合わせたもの」です。
ユーザーの視点から見ると、Snowflakeはデータを保持するプラットフォームです。ユーザーは、他のSQLベースのデータベースと同様に、SQLクエリを実行してデータにアクセスできます。しかし、バックエンドでは、データはAWS、Google Cloud、Azureなどの1つ以上のクラウドプロバイダーに保存されます。Snowflakeは、顧客のニーズに応じてリソースを拡張または縮小する点で優れています。
Snowflakeは、Snowsightと呼ばれるWebインターフェースも提供しており、ユーザーはそこでクエリの実行、Snowflakeの管理、データのアップロード、データパイプラインの構築、アクティビティと使用状況の監視を行うことができます。
ODBCとRESTの比較
JMP 19では、JMP内でSnowflakeデータにアクセスする方法として、2つの選択肢が用意されています。1つはODBC Snowflakeデータコネクタを使用する方法、もう1つはRESTベースのSnowflakeコネクタを使用する方法です。RESTベースのコネクタはマルチスレッド処理を利用してデータを取得するため、ODBCドライバと比較してクエリの処理速度が大幅に向上します。
RESTの限界
現在サポートされている認証方法は、Snowflakeのデフォルト認証機能で使用される「ユーザー名とパスワード」です。その他にOAuthを使用する方法があり、最後に自動化スクリプトなどに使用するプログラムによるアクセストークンがあります。
RESTベースのコネクタは内部的にSnowflake SQL APIを使用しているため、データステージングを伴うGETやPUTなどの一部の操作はサポートされていません。
接続中
以上のことを踏まえて、JMPでRESTベースのコネクタを設定し、接続を確立する方法を見ていきましょう。
(JMPを開く)
まず、JMPデータコネクタインターフェースを開きましょう。
(ナビゲート…そして会話)
検索バーで「Snowflake」を検索し、組み込みのSnowflakeコネクタを選択して、新しいコネクタを作成します。
ユーザーパスワードで認証
始める前に、これらのオプションの多くは、認証システムによってはSnowflake管理者やその他の関係者からの情報が必要になる場合があることをご了承ください。まずは、ユーザー名とパスワードを使用して接続を作成してみましょう。
まず必要なのは Snowflake URL です。これはユーザーが Snowsight の Web インターフェースにアクセスする方法であり、通常は で終わります。 。
ウェアハウスフィールドは接続先のウェアハウスを指定します。データベースとロールも同様です。これらのフィールドを空白のままにすると、ユーザーのデフォルト値が定義されていれば、それが使用されます。ユーザーには特定のロールやアクセスできるテーブルが制限されている場合があるため、これらの値が正しくないと接続できない可能性があります。
最後に、ユーザー名とパスワードの欄に認証情報を入力してください。パスワード欄は空欄のままでも構いません。接続時にパスワードの入力を求められます。テストボタンを使用して接続をテストし、必要に応じて接続を保存してください。
2段階認証
JMPが接続時に停止する場合がありますが、これはSnowflakeが二要素認証(2FA)を待っていることを示している可能性があります。アカウントに2FAが設定されている場合は、プロンプトに応答する必要があります。例えば、スマートフォンのDuoアプリを使用して接続を許可することができます。
接続が成功すると、接続先のデータベース内のスキーマとテーブルが表示されます。その後、テーブルを開く機能またはクエリビルダーを使用して、データをJMPにインポートしてください。
SQLコンソール
JMP 19の新機能として、SQLコンソールが追加されました。これは、サポートコネクタを使用して複数ステートメントのクエリを実行するための機能です。カスタムSQLの実行と似ていますが、1つのクエリで複数のテーブルを一度に開くことができます。作業内容は.sqlファイルとして保存し、後で繰り返し使用できます。
プログラムによるアクセストークンで接続する
スクリプト作成のため、またはJMP Liveの更新スクリプトを使用するために2要素認証をバイパスする必要があるユーザーは、プログラムによるアクセストークンを使用して接続することもできます。この一時的なトークンは最長1年間有効です。ユーザー用のトークンを生成するには、Snowflake管理者にお問い合わせください。
JMPでトークンを使用するには、以前と同様にユーザー名/パスワードのSnowflakeコネクタを作成する手順に従いますが、通常のパスワードの代わりにトークンをコネクタのパスワードフィールドに入力してください。この手順に従えば、2要素認証なしで正常に接続できるはずです。
OAuthで接続する
OAuth を使用して接続する場合、ほとんどのフィールドは Snowflake およびセキュリティ管理者から提供されます。この認証タイプでは、ユーザー名とパスワードのフィールドが空白になっていることを確認してください。以前と同様に、Snowflake URL フィールド、および該当する場合はデータベース、ウェアハウス、ロールの各フィールドに入力します。残りのフィールドは OAuth セクションに記載されており、これらは管理者から提供されます。OAuth を使用して接続する場合、おそらく認証が必要となり、2 要素認証も必要になる場合があります。私の場合は、資格情報を入力するためのブラウザー ウィンドウにリダイレクトされます。
トラブルシューティング
また、遭遇する可能性のある問題点と、その解決策についてもいくつか触れておきましょう。
- ロール/ウェアハウスに問題がある場合:接続時に、「 SQLコンパイルエラー:オブジェクトが存在しないか、操作を実行できません。 」という一般的なエラーが表示されることがあります。
まず最初に確認すべきことは、ロール、ウェアハウス、データベースが正しいかどうかです。これらの項目が空欄の場合は、アクセスしようとしているリソースを明示的に指定する必要があるかもしれません。入力済みの場合は、スペルミスがないか、またユーザーがこれらのリソースへのアクセス権を持っているかを再度確認してください。そのためには、Snowflake管理者に問い合わせるか、Snowsightを使用して設定を確認するか、snowsqlやSnowflake CLIなどのコンソールツールを使用してください。
- HTTPS: Snowflake の設定によっては、IP アドレスによるアクセス制限があったり、リソースが社内ファイアウォールの内側に存在する場合があります。これらのリソースにアクセスできることを確認してください。これには、社内ネットワークへのアクセスや、データコネクタの proxy フィールドと noproxy フィールドの設定などが含まれる場合があります。また、例えばインフラストラクチャで自己署名証明書を使用している場合は、Secure フィールドを使用して TLS を無効にする必要があるかもしれません。TLS を無効にすると中間者攻撃を受ける可能性があるため、正しい設定であることが確実でない限り、TLS を無効にしないでください。
ご視聴いただきありがとうございました。この動画が、RESTベースのSnowflakeコネクタの利点、新しいSnowflakeデータコネクタの設定方法、そして最終的にJMP内でSnowflakeデータに接続する方法について、お役に立てば幸いです。
Snowflakeの使用方法やSnowflakeクエリの実行方法に関するより詳しい情報は、snowflake.comで入手できます。
このコネクタの性能向上をユーザーの皆様にご満足いただければ幸いです。今後もさらなる改善に努めてまいります。ありがとうございました!
こんにちは、 @chrishesser さん。この動画へのアクセス権限は制限されているようです。
同僚にビデオにアクセスしてもらい、設定を調整してもらうことはできますか?