Data Prep用のSnowflakeデータウェアハウスコネクター¶
ユーザーペルソナ:Data Prepユーザー、Data Prep管理者、データソース管理者、またはIT/DevOps
備考
この文書は、コネクターの設定中に利用できるすべての構成フィールドについて論じています。 一部のフィールドは、設定の以前の手順で管理者によってすでに入力されている場合があり、表示されない場合があります。 Data Prepのコネクターフレームワークの詳細については、Data Prepコネクターのセットアップを参照してください。 また、管理者がこのコネクタにデータソースのリストで別の名前を付けている可能性があります。
Data Prepの設定¶
Snowflakeコネクターを使用すると、ライブラリのインポートとエクスポートにJDBCベースの接続を使用できます。次のフィールドは、接続を作成するために使用されます。
一般¶
- 名前: UIでユーザーに表示されるデータソースの名前。
- 説明: UIでユーザーに表示されるデータソースの説明。
ヒント
Data Prepは複数のSnowflakeアカウントに接続できます。わかりやすい名前を使用すると、ユーザーが適切なデータソースを識別する上で非常に役立ちます。Data Prep SaaSを使用している場合は、Data Prep DevOpsにこのセットの希望の旨をお知らせください。
データベースURI¶
- JDBC URI:JDBC接続文字列。スキーマ名はURIに含めることができます。詳細については、 https://docs.snowflake.net/manuals/user-guide/jdbc-configure.html を参照してください。
データベース、スキーマ、およびテーブルの可視性¶
インポート中にユーザーがデータソースを参照するときに表示されるデータベース、スキーマ、およびテーブルを制御できます。それぞれについて、次のいずれかを選択できます。
- [表示のみ]ここで指定したデータベース、スキーマ、またはテーブルだけが返されます。
- [非表示]:ここで指定したデータベース、スキーマ、テーブルが非表示になります。
- [すべて表示]:データソース内のすべてを表示するデフォルト設定です。
「表示のみ」または「非表示」オプションを選択すると、オプションを適用するデータベース、スキーマ、または表のコンマ区切りリストを指定するためのフィールドが提供されます。
備考
これらの設定は、ユーザーがSQLを使用してデータソースに対してクエリを実行する場合は適用されません。クエリの結果は、一致の完全なリストを返します。たとえば、特定のデータベースを[非表示]にした場合でも、ユーザーはそのデータベース内のテーブルからデータをプルするクエリーを実行できます。ただし、そのデータベースは、ユーザーがデータソースを参照するときに表示されません。
インポート設定¶
- クエリに対するクエリのプリフェッチサイズ: インポートでデータのプリフェッチを行うときに使用するバッチ サイズ(行数)。
- 最大列サイズ: データをインポートまたはエクスポートするときに許容されるセルの最大サイズ(Unicode 文字数)。
- インポート前のSQL: テーブルのスキーマを決定した後、インポートの開始前に実行するSQLステートメント。このSQLは、データがData Prep UIでプレビューされる前にも実行されます。
- インポート後のSQL: インポート完了後に実行するSQLステートメント。このSQLは、データがData Prep UIでプレビューされる前にも実行されます。
エクスポート設定¶
-
エクスポート方法:Snowflakeからデータをエクスポートする方法を選択します。これらの方法は、いずれもSnowflakeがデータをインポートする方法に固有のものです。これらのオプションの詳細については、リストアップされたオプションの後ろにリンクされているSnowflakeのドキュメントを参照してください。次の2つのオプションがあります。
-
内部ステージ:データを表にロードする前に、Snowflakeの内部ステージのファイルにデータを書き込みます。この方法は、ダイレクトSQLよりも高速であるため、大規模なデータセットに推奨されます。ステージの種類:
- 臨時:作成されたステージは、作成されたセッションの終了時に削除されます。ステージはSnowflakeによって管理されるため、追加の設定は必要ありません。
- 常設:Snowflakeですでに作成されているステージの名前を指定します。
- ステージ名:Snowflakeの既存の名前付き内部ステージの名前を指定します。Snowflakeの 識別子の構文を参照してください。
-
ダイレクトSQLT :SQLの挿入ステートメントを使用してデータをエクスポートします。データ量の多いデータセットの場合、このアプローチは内部ステージを使用した場合よりも遅くなります。</> - エクスポートバッチサイズ:ダイレクトSQLのエクスポート方法が選択されている場合でデータをエクスポートする際に使用されるバッチサイズ。
-
最大 VARCHAR サイズ:エクスポート時に許可されるVARCHAR列で使用できる最大サイズです。このサイズより大きい値は、データがSnowflake表にロードされるときにヌル値に置き換えられます。
- テーブルを自動作成:エクスポート時に新しいテーブルを自動作成します。有効にした場合、Data Prepは、エクスポートされたデータセットと名前が一致するテーブルを削除し(存在する場合)、エクスポートされたデータセットを使用してテーブルを再作成します。有効になっていない場合、Data Prepは新しい表を作成しませんが、代わりに、エクスポートされたデータを、エクスポートされたデータセットの名前と一致する名前の表にロードします。
- エクスポート前のSQL:自動作成が有効になっている場合、テーブルの作成後、エクスポートの開始前に実行するSQLステートメント。
- エクスポート後のSQL:エクスポートの完了後に実行するSQLステートメント。
備考
「TIMESTAMP_LTZ(9)」タイプを使用してData Prepをエクスポートします。別のタイムスタンプを使用して表が作成された場合、タイムスタンプのタイプが一致しない列にData Prepのデータをエクスポートすると、エラーが発生します。エラーの内容は以下の通りです。「エクスポートの実行中にエラーが発生しました。理由:SQLのコンパイルエラーです。式タイプが列データ型と一致しません。TIMESTAMP_####を期待していましたが、TIMESTAMP_LTZ(9)が列 _Column_Nameに含まれていました。」
これを修正するには、次のいずれかを実行します。
- Data Prepに表の作成を許可してからエクスポートを実行するか、または
- TIMESTAMP_LTZ(9)でテーブルを作成してから、エクスポートを実行します。
資格情報¶
ユーザー認証は、共有アカウントまたは個人アカウントを介して行うことができます。個人アカウントでの認証を選択した場合、ユーザーはこのデータソースにアクセスするためにユーザー名とパスワードを入力するように求められます。共有アカウントで認証する場合は、次のフィールドを設定する必要があります。
ユーザー:データベースでの認証に使用される共有アカウントのユーザー名。
パスワード:データベースへの認証に使用される共有アカウントのパスワード
ロール:「ユーザーロール」を使用するセッションに設定するロール。指定するロールは、ユーザーに既に割り当てられた既存のロールでなければなりません。ロールはJDBC URIを使用して指定することもできますが、Roleフィールドで指定した値は、URIで指定したロールよりも優先されます。Snowflakeのロールに関する情報については、https://docs.snowflake.net/manuals/sql-reference/sql/use-role.htmlを参照してください。
データインポート情報¶
ブラウジング経由¶
上で選択したデータベース、スキーマ、およびテーブルの可視性設定と、指定されたユーザー資格情報に基づき、ブラウジングエクスペリエンスは異なります。
SQLクエリー経由¶
データベース、スキーマ、および表の可視性のセクションに記載したように、ユーザーがクエリを介してインポートできるものの制限は、接続用に提供された認証情報によって決定される認証にのみ制限されます。
クエリは、次で定義されている正当なSQL Selectステートメントを使用して実行できます:https://docs.snowflake.net/manuals/sql-reference/sql/select.html
例:
SELECT * FROM "SNOWFLAKE_SAMPLE_DATA"."TPCH_SF1"。お客様"