QuboleでのSpark用Snowflakeの構成¶
QuboleでSnowflakeをSpark用に構成するには、SnowflakeをQuboleデータストアとして追加するだけです。このトピックでは、Qubole Data Service(QDS)UI を使用してこのタスクを実行するための手順を説明します。
注釈
QDS REST API を使用して、Snowflakeをデータストアとして追加することもできます。段階的な手順については、 データストアとしてのSnowflakeデータウェアハウスの追加 (Quboleドキュメント)をご参照ください。
このトピックの内容:
前提条件¶
データストアを追加するには、QDS システム管理者である必要があります。
Qubole Enterprise Editionアカウントが必要です。
接続で使用するロールには、Quboleを介して読み書きを行うテーブルを含むスキーマに対する USAGE および CREATE STAGE 権限が必要です。
実行時間の長いクエリ用の外部ロケーションの準備¶
一部のジョブが36時間を超える場合は、SnowflakeとSpark間のデータ交換に使用する外部の場所を準備することを検討します。詳細については、「ファイル用の外部の場所の準備」をご参照ください。
QDS UI でのデータストアとしてのSnowflakeの追加¶
Home メニューから、 Explore をクリックします。
Explore ページのドロップダウンリストで、 + Add Data Store を選択します。
次のフィールドに必要な情報を入力します。
Data Store Name :作成するデータストアの名前を入力します。
Database Type :「Snowflake」を選択します。
Catalog Name :Snowflakeカタログの名前を入力します。
Database Name :データが格納されているSnowflakeのデータベースの名前を入力します。
Warehouse Name: クエリに使用するSnowflake仮想ウェアハウスの名前を入力します。
Host Address: Snowflakeアカウントのベース URL (例:
myorganization-myaccount.snowflakecomputing.com
)を入力します。この URL で使用するアカウント識別子を指定する方法の詳細については、 アカウント識別子 をご参照ください。Username: Snowflakeユーザーのログイン名を入力します(ホストへの接続に使用)。
Password :Snowflakeユーザーのパスワードを入力します(ホストへの接続に使用)。
Host Address を除くすべての値は、 大文字と小文字を区別する ことに注意してください。
Save をクリックして、データストアを作成します。
データストアとして追加するSnowflakeデータベースごとにこれらの手順を繰り返します。または、データストアを編集して、Snowflakeデータベースまたはデータストアの他のプロパティを変更できます(クエリに使用される仮想ウェアハウスの変更など)。
注釈
Snowflakeデータストアを追加した後、Sparkクラスターを再起動します(すでに実行中のSparkクラスターを使用している場合)。Sparkクラスターを再起動すると、Spark用Snowflakeコネクタ向けとSnowflake JDBC ドライバー向けの .jar
ファイルがインストールされます。
QuboleでのSnowflakeデータストアの検証¶
Snowflakeデータストアが作成され、アクティブ化されたことを検証するには、 Explore ページの左上にあるドロップダウンリストをクリックします。緑色の点は、データストアがアクティブ化されたことを示します。
また、 Explore ページの左ペインのテーブルエクスプローラーウィジェットに、データストアで指定されたSnowflakeデータベースのすべてのテーブルが表示されていることを確認する必要があります。
Quboleでのクエリプッシュダウン¶
Sparkクエリは、Snowflakeの自動クエリプッシュダウン最適化のメリットを受け、パフォーマンスが向上します。デフォルトでは、SnowflakeクエリプッシュダウンはQuboleで有効化されています。
クエリプッシュダウンの詳細については、 Sparkクエリ処理をSnowflake にプッシュする (Snowflakeブログ)をご参照ください。