Se connecter à des bases de données externes et à des catalogues

Azure Databricks fournit plusieurs options d’interrogation et d’accès aux données dans des bases de données externes et des catalogues sans migrer vos données. Choisissez l’approche basée sur votre modèle d’accès, vos exigences de gouvernance, vos besoins en écriture et vos préférences de calcul.

Choisir une approche

Le tableau suivant compare la fédération de requête et la fédération de catalogue pour vous aider à choisir la bonne approche.

Description Exécution de la requête Rédiger un support Governance Idéal pour
Fédération des requêtes Exécutez des requêtes fédérées sur des bases de données relationnelles externes à l’aide de JDBC, avec transfert automatique des requêtes vers la source et gouvernance assurée par Unity Catalog via des catalogues externes. Poussé vers la base de données externe à l’aide de JDBC. La requête s’exécute à la fois sur Azure Databricks et sur le calcul distant. Non pris en charge (lecture seule). Catalogue étranger Unity Catalog avec contrôle d’accès au niveau des tables. Rapports ad hoc, BI et accès de validation de concept aux bases de données opérationnelles.
Fédération de catalogues Connectez des plateformes de catalogue externe (telles que Hive Metastore, AWS Glue ou Snowflake) afin de pouvoir interroger leurs données directement dans le stockage d’objets. S’exécute directement avec le stockage d’objets, uniquement sur les ressources de calcul Azure Databricks. Plus économique et offrant de meilleures performances que la fédération de requêtes. Non pris en charge (lecture seule). Catalogue externe Unity Catalog avec des contrôles d’accès au niveau des tables. Migration incrémentielle vers le catalogue Unity ou maintenance d’un modèle hybride à long terme avec des données dans un catalogue externe.

Fédération de Lakehouse

Lakehouse Federation est la plateforme de fédération de requêtes Azure Databricks. Fournit un accès gouverné en lecture seule aux données externes via les catalogues externes d’Unity Catalog, avec pushdown automatique des requêtes et des contrôles d’accès granulaires au niveau des tables.

Il existe deux types de fédération Lakehouse : fédération de requête et fédération de catalogue.

Fédération de requêtes comparée à la fédération de catalogues

Le tableau suivant décrit les principales différences entre la fédération de requête et la fédération de catalogue.

Chemin de requête Cas d’utilisation Vue d’ensemble des étapes
Fédération des requêtes Les requêtes de catalogue Unity sont envoyées à la base de données étrangère à l’aide de JDBC. La requête est exécutée à la fois dans Azure Databricks et à l’aide du calcul distant.
  • Vous avez besoin d’un rapport ad hoc ou d’un accès de preuve de concept aux données opérationnelles stockées dans des bases de données externes.
  • Vous souhaitez réduire le déplacement des données et maintenir l’accès en direct aux systèmes externes.

Lorsque votre source prend en charge Lakehouse Federation et Lakeflow Connect, Azure Databricks recommande Lakeflow Connect si les performances sur des volumes de données plus élevés et une latence inférieure sont prioritaires.
  • Créez une connexion dans le catalogue Unity avec vos informations d’identification d’accès et l’URL JDBC.
  • Créez un catalogue étranger à l’aide de la connexion.
  • Accordez des privilèges aux utilisateurs sur les tables du catalogue étranger.
  • Exécutez des requêtes. Ceux-ci sont transférés vers la base de données externe.
Fédération de catalogues Les requêtes du catalogue Unity accèdent directement à la table étrangère dans le stockage d’objets. La fédération de catalogue est disponible pour les plateformes qui prennent en charge l’accès direct à leurs services de catalogue et de stockage. La requête s’exécute uniquement sur les ressources de calcul Azure Databricks, ce qui signifie que la fédération de catalogues est plus rentable et plus performante que la fédération de requêtes.
  • Vous migrez vers Unity Catalog, mais vous devez intégrer progressivement des données gérées à partir d’un catalogue externe.
  • Vous souhaitez un modèle hybride à long terme dans lequel certaines données restent dans un catalogue externe et certaines données sont gérées par Unity Catalog.
  • Créez une connexion dans le catalogue Unity pour accéder au catalogue externe.
  • Créez des informations d’identification de stockage et un emplacement externe pour les chemins de table.
  • Créez un catalogue étranger à l’aide de la connexion et de l’emplacement externe.
  • Accordez des privilèges aux utilisateurs sur les tables du catalogue étranger.
  • Exécutez des requêtes. Celles-ci s’exécutent directement sur le stockage d’objets.

Sources de données prises en charge

Connectez-vous aux sources suivantes à l’aide de la fédération de requêtes :

Connectez-vous aux sources suivantes en utilisant la fédération de catalogues :

Sources de données Spark

L’API de source de données Spark vous permet de lire et d’écrire dans des bases de données externes directement à partir de Azure Databricks. Utilisez-la quand Lakehouse Federation ne prend pas en charge votre source, lorsque vous avez besoin d’un accès en écriture, ou lorsque vous avez besoin d’un contrôle supplémentaire sur l’exécution et la parallélisation des requêtes.

Databricks Runtime inclut des connecteurs groupés pour les bases de données courantes telles que PostgreSQL, SQL Server, MySQL, Snowflake et Redshift. Pour toute base de données compatible JDBC, vous pouvez utiliser une connexion Unity Catalog JDBC pour utiliser votre propre pilote avec une gestion centralisée des identifiants. Vous pouvez également installer des connecteurs tiers sur des clusters dédiés ou créer des connecteurs entièrement personnalisés dans Python à l’aide de l’API PySpark DataSource.

Pour obtenir des instructions de configuration et des détails complets, consultez les sources de données Spark.

Ressources supplémentaires