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

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

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

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

  • データベース連携では、セキュアな JDBC 接続を使用して、PostgreSQL や MySQL などの外部データシステムと連携します。
  • カタログ フェデレーションは、 Hive metastore、 Glue、 Snowflake Horizon Catalog などの外部カタログを接続して、ファイル ストレージ内のデータを直接クエリします。

外部ソースへの接続の詳細については、「 レイクハウスフェデレーションとは」 を参照してください。

important

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

レガシーなApache SparkやDatabricksワークロードとの後方互換性のために、フェデレーションされたHiveメタストアは、テーブルがHiveのマネージドテーブルなのか、Hive外部テーブルなのかを含むひHiveメタストアのメタデータを返却します。

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

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

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

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

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

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

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

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