フォーリンテーブルを使用する
フォーリンテーブル は、 フェデレーテッドテーブル と呼ばれることもあり、フォーリンカタログの一部として Unity Catalog を使用して登録されたテーブルです。 フォーリンテーブルには、外部システムによって管理されるデータとメタデータが含まれており、 Unity Catalog はこれらのテーブルをクエリするためのデータガバナンスを追加します。
Databricks では、登録する フォーリンテーブルに対して、以下のメソッドをサポートしています。
- レイクハウスフェデレーションは、セキュアな JDBC 接続を使用して、 PostgreSQL や MySQLなどの外部データシステムにフェデレートします。 「レイクハウスフェデレーションとは」を参照してください。
- Hive metastoreフェデレーションはUnity CatalogHive metastoreによって管理されるテーブルにデータガバナンスを追加します。Hive metastoreフェデレーション:Unity Catalog に登録されたテーブルを管理するための の有効化 を参照してください。Hive metastore
フォーリンカタログ内のすべてのテーブルはフォーリンテーブルであり、フォーリンテーブルはフォーリンカタログに存在する必要があります。
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 読み取りと書き込みのクエリパフォーマンスを比較し、レイテンシとコストの違いを評価することをお勧めします。