Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les tables étrangères, parfois appelées tables fédérées, sont des tables inscrites à l’aide du catalogue Unity dans le cadre d’un catalogue étranger. Les tables étrangères contiennent des données et des métadonnées gérées par des systèmes externes, avec Unity Catalog ajoutant la gouvernance des données pour interroger ces tables.
Azure Databricks prend en charge les méthodes suivantes pour inscrire des tables étrangères :
- La fédération de requêtes utilise des connexions JDBC sécurisées pour fédérer à des systèmes de données externes tels que PostgreSQL et MySQL.
- La fédération de catalogue connecte des catalogues externes, tels qu’un metastore Hive ou snowflake Horizon Catalog, pour interroger les données directement dans le stockage de fichiers.
Important
Pour une compatibilité rétroactive avec les charges de travail Apache Spark et Azure Databricks héritées, les tables étrangères d’un metastore Hive fédéré retournent les métadonnées du metastore Hive, notamment si la table est une table Hive gérée ou une table Hive externe.
Pourquoi utiliser une table étrangère ?
Les tables étrangères offrent une flexibilité lors de l’intégration d’Azure Databricks à des systèmes de données existants ou à la migration à partir de systèmes hérités.
De nombreuses tables étrangères servent de solution temporaire pour l’accès direct aux données non gérées par Azure Databricks, car elles fournissent une solution rapide sans nécessiter de migration de données ou de refactorisation de code pour les flux de travail ETL en amont. Databricks recommande de migrer des jeux de données qui pilotent des charges de travail de production ou qui sont interrogés fréquemment vers des tables managées du catalogue Unity, car les tables managées fournissent les meilleures performances et ont de nombreuses optimisations intégrées. Consultez Convertir une table étrangère en table de catalogue Unity managée.
La fédération de requêtes fournit une solution gratuite pour le chargement de données à partir de systèmes de données externes non pris en charge par Lakeflow Connect. Databricks recommande d’utiliser des vues matérialisées pour répliquer des tables étrangères dans le catalogue Unity. Consultez Charger des données à partir de tables étrangères avec des vues matérialisées.
Créer ou écrire dans des tables étrangères
Si vous disposez de privilèges suffisants et que votre espace de travail a été configuré avec un metastore Hive fédéré interne, vous pouvez créer ou écrire dans des tables étrangères soutenues par un metastore Hive fédéré interne. Le metastore Hive fédéré externe et toutes les tables étrangères utilisées par Lakehouse Federation sont uniquement en lecture.
Azure Databricks ne gère pas les métadonnées, les données ou la sémantique pour les écritures dans des tables étrangères. Les tables étrangères peuvent être soutenues par un format compatible ACID tel que Delta Lake ou Apache Iceberg, mais les tables étrangères ne fournissent pas les garanties transactionnelles des tables gérées par le catalogue Unity.
La plupart des optimisations pour les performances des requêtes, l'amélioration de la vitesse d'écriture, l'ignorance des données non pertinentes et les requêtes basées uniquement sur les métadonnées nécessitent Unity Catalog. Databricks recommande de comparer les performances des requêtes de lecture et d’écriture entre les tables étrangères et les tables managées du catalogue Unity à l’aide de la dernière version de Databricks Runtime pour évaluer la latence et les différences de coût. Consultez les tables managées du catalogue Unity dans Azure Databricks pour Delta Lake et Apache Iceberg.