Warning

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Snowflake

Foundry を Snowflake に接続して、Snowflake と Foundry 間でデータを読み込み、同期します。

サポートされている機能

機能ステータス
探索🟢 一般利用可能
バルクインポート🟢 一般利用可能
インクリメンタル🟢 一般利用可能
仮想テーブル🟢 一般利用可能
エクスポートタスク🟡 サンセット

セットアップ

  1. Data Connection アプリケーションを開き、画面の右上隅にある + 新規ソース を選択します。
  2. 利用可能なコネクタタイプから Snowflake を選択します。
  3. インターネット経由での 直接接続 を使用するか、または 中間エージェント経由 で接続するかを選択します。
  4. 以下のセクションにある情報を使用して、コネクタの設定を続行するための追加の設定プロンプトに従います。

Foundry での コネクタの設定 について詳しく学ぶ。

接続詳細

オプション必須?説明
Account identifierはいこれは ".snowflakecomputing.com" に先行する識別子です。詳細については、Snowflake の 公式ドキュメンテーション ↗ を参照してください。
Rolesいいえ資格情報が複数のロールにアクセスできる場合に接続で使用するデフォルトのロールです。
Databaseはい接続後に使用するデフォルトのデータベースを指定します。
Schemaいいえ接続後に使用するデフォルトのスキーマを指定するオプションです。指定しない場合、資格情報のスコープ内にあるすべてのスキーマが利用可能になります。
Warehouseいいえ*接続後に使用する仮想ウェアハウスです。登録された 仮想テーブル の場合、これはソース側の計算に使用されます。
資格情報はいオプション 1: ユーザー名とパスワード
ユーザー名とパスワードを提供します。個々のユーザー資格情報ではなく、サービス資格情報の使用を推奨します。

オプション 2: キーペア認証
ユーザー名とプライベートキーを提供します。キーペア認証の設定方法については、Snowflake の 公式ドキュメンテーション ↗ を参照してください。

オプション 3: 外部 OAuth (OIDC)
表示されるソースシステムの設定指示に従って、外部 OAuth を設定します。External OAuth についての詳細は、Snowflake の 公式ドキュメンテーション ↗ を、OIDC が Foundry でどのように動作するかの詳細については、当社のドキュメンテーション を参照してください。

すべての資格情報オプションについて、提供されたユーザーとロールがターゲットのデータベースとスキーマに使用権限を持ち、ターゲットのテーブルに選択権限を持つことを確認してください。

仮想テーブル を登録する場合、ユーザーとそのロールはウェアハウスにも使用権限を持つべきです。
Network Connectivityはい**Snowflake で SELECT SYSTEM$ALLOWLIST() を実行し、少なくとも SNOWFLAKE_DEPLOYMENTSTAGE のエントリが Foundry の出口ポリシーとして追加されていることを確認します。詳細については、以下の ネットワーキング セクションを参照してください。

* ウェアハウスの詳細は、Foundry データセット の同期にはオプションですが、仮想テーブル の登録には必要です。
** ネットワーク出口ポリシーは直接接続に必要ですが、エージェントベースの接続には必要ありません。

ネットワーキング

Snowflake と Foundry 間の直接接続を可能にするためには、適切な 出口ポリシー をソースを設定する際に追加する必要があります。これは、Data Connection アプリケーション で行います。

許可リストに追加する Snowflake アカウントのホスト名とポート番号を識別するために、Snowflake コンソールで次のコマンドを実行できます。少なくとも SNOWFLAKE_DEPLOYMENTSTAGE のエントリが Foundry の出口ポリシーとして追加されていることを確認してください。

Copied!
1 2 3 4 5 6 -- 次のコードは、システムの許可リストからJSONを解析してフラット化し、その結果から特定の値を取得します。 SELECT t.VALUE:type::VARCHAR as type, -- "type"の値を取り出し、それをVARCHARとして"type"という名前で選択します。 t.VALUE:host::VARCHAR as host, -- "host"の値を取り出し、それをVARCHARとして"host"という名前で選択します。 t.VALUE:port as port -- "port"の値を取り出し、"port"という名前で選択します。 FROM TABLE(FLATTEN(input => PARSE_JSON(SYSTEM$ALLOWLIST()))) AS t; -- システムの許可リストをJSONとして解析し、その結果をフラット化したテーブルから選択します。

ホスト名と許可するポート番号の特定についての追加情報は、Snowflake の公式ドキュメンテーション ↗をご覧ください。

限られたケース(ユーザーの Foundry と Snowflake の環境による)では、PrivateLink 経由で接続を確立する必要があるかもしれません。これは通常、Foundry と Snowflake が同じ CSP(例えば、AWS-AWS または Azure-Azure)によってホストされている場合に該当します。ユーザーのセットアップにこれが適用されると思われる場合は、追加のガイダンスのためにユーザーの Palantir の担当者に連絡してください。

ユーザーの Foundry インスタンスと同じ地域の S3 バケットに依存する出口ポリシーについては、影響を受けるバケットで詳述されている追加の設定手順を完了していることを確認してください。詳細は Amazon S3 バケットポリシーのドキュメンテーションをご覧ください。

仮想テーブル

このセクションでは、Snowflake ソースを使用した仮想テーブルについての追加詳細を提供します。このセクションは、Foundry データセットへの同期時には適用されません。

仮想テーブルの機能ステータス
ソースの形式🟢 一般に利用可能: テーブル、ビュー、マテリアライズドビュー
手動登録🟢 一般に利用可能
自動登録🟢 一般に利用可能
Pushdown コンピュート🟢 一般に利用可能; Snowflake Spark コネクタ ↗経由で利用可能
インクリメンタル🟢 一般に利用可能: APPEND のみ [1]

仮想テーブルを使用する場合、以下のソース設定要件を覚えておいてください:

  • ソースを直接接続として設定する必要があります。仮想テーブルは中間エージェントの使用をサポートしていません。
  • このドキュメンテーションのネットワーキングセクションで説明されているように、双方向接続とホワイトリスト設定が確立されていることを確認します。
  • Code Repositories で仮想テーブルを使用している場合は、追加のソース設定が必要な詳細については 仮想テーブルのドキュメンテーションを参照してください。
  • 接続詳細で倉庫を指定する必要があります。
  • 提供された資格情報は、倉庫の使用権限を持つ必要があります。

詳細については、上記の接続詳細セクションを参照してください。

[1] Snowflake 仮想テーブルにバックアップされたパイプラインのインクリメンタルサポートを有効にするためには、適切な保持期間の Change Tracking ↗Time Travel ↗ が有効になっていることを確認してください。この機能は CHANGES ↗ に依存しています。Python トランスフォームcurrentadded の読み取りモードがサポートされています。これらは、 METADATA$ACTION 列に基づいて変更フィードの関連行を公開します。METADATA$ACTIONMETADATA$ISUPDATEMETADATA$ROW_ID 列が Python トランスフォームで利用可能になります。

データモデル

Foundry は、 arrayobject、および variant タイプの列を string タイプとして解析することに注意してください。これは、ソースの可変型付けのためです。

例えば、Snowflake の配列 [ 1, 2, 3 ] は Foundry によって文字列 "[1,2,3]" として解釈されます。

詳細については、Snowflake の公式ドキュメンテーション ↗をご覧ください。