メインコンテンツまでスキップ

フォーリンテーブルを使用する

フォーリンテーブル は、 フェデレーテッドテーブル と呼ばれることもあり、フォーリンカタログの一部として Unity Catalog を使用して登録されたテーブルです。 フォーリンテーブルには、外部システムによって管理されるデータとメタデータが含まれており、 Unity Catalog はこれらのテーブルをクエリするためのデータガバナンスを追加します。

Databricks では、登録する フォーリンテーブルに対して、以下のメソッドをサポートしています。

important

フォーリンカタログ内のすべてのテーブルはフォーリンテーブルであり、フォーリンテーブルはフォーリンカタログに存在する必要があります。

Apache SparkDatabricks従来の ワークロードや ワークロードとの下位互換性を確保するために、フェデレーテッド ア のフォーリンテーブルは、テーブルがHive metastore Hive metastoreHiveマネージドテーブルであるか、Hive 外部テーブルであるかなど、 からメタデータを返します。

なぜフォーリンテーブルを使うのですか?

フォーリンテーブルは、 Databricks を既存のデータシステムに統合するとき、またはレガシーシステムから移行するときに柔軟性を提供します。

多くのフォーリンテーブルは、 Databricksで管理されていないデータに直接アクセスするための一時的なソリューションとして機能し、データ移行やアップストリーム ETL ワークフローのコードリファクタリングを必要とせずに迅速なソリューションを提供します。 Databricks 、マネージドテーブルは最高のパフォーマンスを提供し、多くの組み込み最適化を備えているため、本番運用ワークロードを駆動するデータセットや頻繁にクエリされるデータセットをマネージドテーブルに移行することを推奨 Unity Catalog 。

レイクハウスフェデレーションは、 LakeFlow Connectでサポートされていない外部データ システムからデータを読み込むための無料のソリューションを提供します。 Databricks は、マテリアライズドビューを使用してフォーリンテーブルを Unity Catalogにレプリケートすることをお勧めします。 マテリアライズドビューを使用してフォーリンテーブルからデータをロードするを参照してください。

フォーリンテーブルを作成するか、フォーリンテーブルに書き込む

十分な権限があり、ワークスペースが内部フェデレーション Hive metastoreで構成されている場合は、内部フェデレーション テーブルによってバックアップされたフォーリンテーブルを作成したり、フォーリンテーブルに書き込んだり Hive metastore。 外部フェデレーション re:[HMS] およびレイクハウスフェデレーションによってサポートされるすべてのフォーリンテーブルは読み取り専用です。

Databricks は、フォーリンテーブルへの書き込みのメタデータ、データ、またはセマンティクスを管理しません。 フォーリンテーブルは、 Delta Lakeなどの ACID 準拠の形式でサポートされる場合がありますが、フォーリンテーブルは Unity Catalog マネージドテーブルのようなトランザクション保証を提供しません。

クエリのパフォーマンス、書き込み速度の向上、データのスキップ、メタデータのみのクエリに関するほとんどの Databricks の最適化には、Delta Lake と Unity Catalog が必要です。DatabricksUnity Catalogでは、最新の バージョンを使用してフォーリンテーブルとマネージドテーブルDatabricks Runtime 読み取りと書き込みのクエリパフォーマンスを比較し、レイテンシとコストの違いを評価することをお勧めします。