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

仮想テーブル

仮想テーブル は、Foundry データセット にデータを格納することなく、対応するデータプラットフォームのテーブルをクエリすることができます。

仮想テーブルは、Foundryの外部のソースシステムにあるテーブルを指すポインタとして機能します。仮想テーブルは、基礎となるソースシステムとストレージ形式を抽象化し、異なるソースシステムからのデータをシームレスに組み合わせるワークフローを構築できるようにします。仮想テーブルは、データが一か所に集約される必要がない柔軟なアーキテクチャの一部として、Foundryに格納されているデータセットと組み合わせて使用することができます。

仮想テーブルの図

仮想テーブルは以下によって定義されます。

  • ソースストレージシステムへの接続(例えば、ソースURLや資格情報)。この接続は、Foundryのデータ接続アプリケーションでソースを設定することで確立されます。
  • ソースシステム内のテーブルを識別するロケータ(例えば、データベース、スキーマ、テーブル名)。

Foundry内の他のリソースと同様に、仮想テーブルはFoundryのセキュリティと権限モデルによって管理され、様々なFoundryアプリケーションで開いたり使用したりすることができます。

対応しているソース

以下のソースが仮想テーブルをサポートしています。接続の設定方法やサポートされている機能については、ソースドキュメントを参照してください。

ソースステータスサポートされているフォーマット手動登録自動登録
Amazon S3🟢 一般利用可能Delta, Parquet✔️
Azure Data Lake Storage Gen2 (Azure Blob Storage)🟢 一般利用可能Delta, Parquet✔️
BigQuery🟢 一般利用可能Table, View, Materialized View✔️✔️
Snowflake🟢 一般利用可能Table, View, Materialized View✔️✔️

対応しているFoundryのワークフロー

仮想テーブルは、以下のアプリケーションとワークフローで入力としてサポートされています。

対応しているアプリケーション対応しているワークフロー対応していない
Data Connectionソースの設定
仮想テーブルの登録
エージェントベースの接続
ContourContourで分析データセットとして保存
オントロジーPipeline Builderを使ったオブジェクト作成Ontology Managerを使ったオブジェクト作成
データフローFoundryのデータフローを表示
Pipeline Builderパイプラインへの入力
オブジェクトとデータセットの出力
スナップショットビルド
インクリメンタルビルド(追加のみ)
ストリーミングビルド
コードリポジトリ[近日公開:Python変換]Java変換
SQL変換

ソースタイプによっては、これらの機能のすべてがサポートされていない場合があります。詳細については、ソース固有のドキュメントを参照してください。

一般的に、仮想テーブルは、以下のいずれかの方法で、ほとんどの一般的なFoundryワークフローをバックアップするために使用できます。

  • 上記のように、仮想テーブルを直接操作するか、
  • 仮想テーブルをバックアップとして使用し、Foundryのデータセットやオブジェクトを出力する変換パイプラインを作成する。これらの出力は、プラットフォーム内で通常どおり使用することができます。

仮想テーブル用の接続の設定

仮想テーブルに対応しているソースは、データ接続 アプリケーションで設定されます。使用するソースを選択し、ソース設定の 仮想テーブル タブに移動します。ソースドキュメント と、仮想テーブルを使用するためにそこに記載されている要件に従ってください。

すべてのソースが 手動登録 をサポートしています。手動登録では、ソースシステムから個々のテーブルをFoundryに登録することができます。また、一部のソースでは、 自動登録 もサポートされています。自動登録では、定期的に、設定された資格情報にアクセス可能なソース内のすべてのテーブルを指定されたプロジェクトに登録します。

仮想テーブル登録

メディアセット

対応しているソースの場合、メディアセットの同期の出力を設定する際に、ストレージポリシーを指定することで、仮想 メディアセット も設定できます。

メディアセットの設定時に表示されるストレージポリシーの選択ウィンドウ。オプションは、Foundryに保存とストレージから直接読み取りです。

仮想テーブルの手動登録と自動登録

手動登録 を使用する場合、仮想テーブルを作成 を選択し、ソースシステムで利用可能なテーブルを閲覧し、登録する個々のテーブルを選択できます。別の場所を選択しない限り、これらはソースの接続設定で設定されたFoundryの場所に登録されます。

仮想テーブル手動登録

自動登録 を有効にすると、仮想テーブルが自動的に作成される新しいFoundry プロジェクト を作成します。このプロジェクト内のフォルダー階層は、ソースシステムの構造を反映し、ソースに新しいテーブルが作成されるたびに定期的に更新されます。ソースのテーブルが削除された場合、関連する仮想テーブルはプロジェクト内で自動的に削除されませんが、アクセスしてもデータは読み込まれません。

自動登録を有効にするには、Foundryでプロジェクト作成権限が必要です。

仮想テーブル自動登録画面

プロジェクトはFoundryによって管理され、ユーザーは手動でリソースを作成したり更新したりすることはできません。このプロジェクトで登録された仮想テーブルは、ワークフロー開発に使用するために他のプロジェクトにインポートすることができます。

自動登録を有効にすると、プロジェクトへのアクセスと権限を設定できます。これらは、後でプロジェクトオーナーがアクセスサイドバーを使用して管理できます。

リソースのスクリーンショットで仮想テーブルプロジェクトを表示

仮想テーブルを使用するか、データセットに同期するか

仮想テーブルを使用するか、Foundryのデータセットに同期するかは、アーキテクチャの目標とサポート対象のワークフローによって異なります。ワークフローごとに適切な統合パターンを検討することをお勧めします。両方のアプローチを組み合わせて互いに補完することができます。

以下は、仮想テーブルとデータセットへのデータ同期の利点、欠点、制限について考慮すべき事項です。

仮想テーブルの利点

仮想テーブルにはいくつかの利点があります。

  • Foundryでソースデータを格納しないことによるストレージの重複削減。ただし、Foundryパイプラインからの出力など、下流で作成されたリソースのデータはFoundryで引き続き格納されます。
  • クエリがソースシステムにプッシュダウンされ、データ転送量が制限されます。プッシュダウン計算の可用性は、ソースシステムとクエリタイプによって異なります。
  • 仮想テーブルは、重複するストレージコストが材料になる非常に大きなテーブルに特に有益です。
  • 仮想テーブルを使用すると、データを同期する必要がなく、データの古さの可能性を考慮することなく、データを直接クエリできます。
  • 仮想テーブルは、Foundryの実装をターゲットアーキテクチャパターンに合わせるためのオプションを提供します。

仮想テーブルの欠点

仮想テーブルはすべての状況で最適な選択肢ではありません。考慮すべき事項は以下のとおりです。

  • インタラクティブなパフォーマンスが、Foundryのデータセットでデータを扱うより遅くなる可能性があります。
  • 仮想テーブルで実行されるクエリの種類に応じて、計算使用量が増加する可能性があります。例えば、スケジュールされたパイプラインへの入力として使用されるテーブルは、Contourの分析で頻繁にアクセスされるテーブルと比べて、限定的な計算を生成する可能性があります。
  • 仮想テーブルは、データセットのバージョン管理やブランチングなどのFoundryデータセット機能の恩恵を受けることができません。

仮想テーブルの制限

仮想テーブルの制限には以下のようなものがあります。

  • 仮想テーブルはすべてのソースで利用可能ではありません。
  • 仮想テーブルは、ソースへの直接接続が必要です。エージェントを使用した接続はサポートされていません。
  • すべてのFoundryアプリケーションや機能が仮想テーブルを入力として使用することはサポートされていません。ただし、仮想テーブルの下流に作成されたマテリアライズされたリソース(例えば、パイプラインからのデータセットやオブジェクトの出力)は、通常どおりFoundryエコシステム全体で完全にサポートされています。

仮想テーブル上のクエリの計算

仮想テーブル上で直接実行されるクエリの場合、計算はFoundryとソースシステムの間で分割される場合があります。特定の動作は、クエリおよびソースシステムがサポートするプッシュダウン計算の程度によって異なります。詳細については、ソース固有のドキュメントを参照してください。