Aller au contenu principal

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

Databricks offre plusieurs options pour interroger et accéder aux données dans les bases de données et catalogues externes sans migrer vos données. Choisissez l'approche en fonction de votre modèle d'accès, de vos exigences de gouvernance, de vos besoins en écriture et de vos préférences de compute.

Choisir une approche

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

Description

Exécution de la query

Prise en charge de l'écriture

Gouvernance

Idéal pour

Query federation

Exécutez des requêtes fédérées sur des bases de données relationnelles externes à l'aide de JDBC, avec un pushdown de requêtes automatique et une gouvernance Unity Catalog via des catalogues étrangers.

Transféré vers la base de données externe à l'aide de JDBC. La query s'exécute à la fois sur Databricks et sur un compute distant.

Non pris en charge (lecture seule).

Unity Catalog : catalogue externe avec des contrôles d'accès au niveau des tables.

Accès aux bases de données opérationnelles pour les rapports ad hoc, la BI et les preuves de concept.

Fédération de catalogues

Connectez des plateformes de catalogue externes (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 sur le stockage d'objets uniquement sur le compute Databricks. Plus rentable et optimisé en termes de performances que la fédération de query.

Non pris en charge (lecture seule).

Unity Catalog : catalogue externe avec des contrôles d'accès au niveau des tables.

Migration vers Unity Catalog de manière incrémentielle, ou maintien d'un modèle hybride à long terme avec des données dans un catalogue externe.

Description

Exécution de la query

Prise en charge de l'écriture

Gouvernance

Idéal pour

Query federation

Exécutez des requêtes fédérées sur des bases de données relationnelles externes à l'aide de JDBC, avec un pushdown de requêtes automatique et une gouvernance Unity Catalog via des catalogues étrangers.

Transféré vers la base de données externe à l'aide de JDBC. La query s'exécute à la fois sur Databricks et sur un compute distant.

Non pris en charge (lecture seule).

Unity Catalog : catalogue externe avec des contrôles d'accès au niveau des tables.

Accès aux bases de données opérationnelles pour les rapports ad hoc, la BI et les preuves de concept.

Fédération de catalogues

Connectez des plateformes de catalogue externes (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 sur le stockage d'objets uniquement sur le compute Databricks. Plus rentable et optimisé en termes de performances que la fédération de query.

Non pris en charge (lecture seule).

Unity Catalog : catalogue externe avec des contrôles d'accès au niveau des tables.

Migration vers Unity Catalog de manière incrémentielle, ou maintien d'un modèle hybride à long terme avec des données dans un catalogue externe.

Lakehouse Federation

Lakehouse Federation est la plateforme de fédération de query Databricks. Il offre un accès gouverné en lecture seule aux données externes via les catalogues externes d'Unity Catalog, avec un pushdown de requête automatique et des contrôles d'accès précis au niveau de la table.

Il existe deux types de Lakehouse Federation : la fédération de query et la fédération de catalogue.

Fédération de query comparée à la fédération de catalogues

Le tableau suivant décrit les différences clés entre la fédération de query et la fédération de catalogue.

Chemin d'accès de la requête

Cas d'usage

Vue d'ensemble des étapes

Query federation

Les requêtes Unity Catalog sont transmises à la base de données externe à l'aide de JDBC. La query est exécutée à la fois dans Databricks et à l'aide de compute distant.

  • Vous avez besoin d'un accès ad hoc aux rapports ou de la preuve de concept aux données opérationnelles stockées dans des bases de données externes.
  • Vous souhaitez minimiser le déplacement des données et maintenir un accès en direct aux systèmes externes.

Lorsque votre source prend en charge à la fois Lakehouse Federation et Lakeflow Connect, Databricks recommande Lakeflow Connect si les performances sur des volumes de données plus élevés et une latence plus faible sont des priorités.

  1. Créez une connexion dans Unity Catalog avec vos identifiants d'accès et l'URL JDBC.
  2. Créez un catalogue étranger en utilisant la connexion.
  3. Accordez des privilèges aux utilisateurs sur les tables dans le catalogue étranger.
  4. Exécuter des query. Elles sont transférées vers la base de données externe.

Fédération de catalogues

Les queries Unity Catalog accèdent directement à la table étrangère dans le stockage objet. La fédération de catalogues est disponible pour les plateformes qui prennent en charge l'accès direct à leurs services de catalogue et de stockage. La query n'est exécutée que sur le compute Databricks, ce qui signifie que la fédération de catalogues est plus rentable et optimisée en termes de performances que la fédération de query.

  • Vous migrez vers Unity Catalog, mais vous devez introduire 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 d'autres sont gérées par Unity Catalog.
  1. Créez une connexion dans Unity Catalog pour accéder au catalogue externe.
  2. Créez un identifiant de stockage et un emplacement externe pour les chemins de table.
  3. Créez un catalogue étranger à l'aide de la connexion et de l'emplacement externe.
  4. Accordez des privilèges aux utilisateurs sur les tables dans le catalogue étranger.
  5. Exécuter des query. Ils s'exécutent directement sur le stockage d'objets.

Chemin d'accès de la requête

Cas d'usage

Vue d'ensemble des étapes

Query federation

Les requêtes Unity Catalog sont transmises à la base de données externe à l'aide de JDBC. La query est exécutée à la fois dans Databricks et à l'aide de compute distant.

  • Vous avez besoin d'un accès ad hoc aux rapports ou de la preuve de concept aux données opérationnelles stockées dans des bases de données externes.
  • Vous souhaitez minimiser le déplacement des données et maintenir un accès en direct aux systèmes externes.

Lorsque votre source prend en charge à la fois Lakehouse Federation et Lakeflow Connect, Databricks recommande Lakeflow Connect si les performances sur des volumes de données plus élevés et une latence plus faible sont des priorités.

  1. Créez une connexion dans Unity Catalog avec vos identifiants d'accès et l'URL JDBC.
  2. Créez un catalogue étranger en utilisant la connexion.
  3. Accordez des privilèges aux utilisateurs sur les tables dans le catalogue étranger.
  4. Exécuter des query. Elles sont transférées vers la base de données externe.

Fédération de catalogues

Les queries Unity Catalog accèdent directement à la table étrangère dans le stockage objet. La fédération de catalogues est disponible pour les plateformes qui prennent en charge l'accès direct à leurs services de catalogue et de stockage. La query n'est exécutée que sur le compute Databricks, ce qui signifie que la fédération de catalogues est plus rentable et optimisée en termes de performances que la fédération de query.

  • Vous migrez vers Unity Catalog, mais vous devez introduire 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 d'autres sont gérées par Unity Catalog.
  1. Créez une connexion dans Unity Catalog pour accéder au catalogue externe.
  2. Créez un identifiant de stockage et un emplacement externe pour les chemins de table.
  3. Créez un catalogue étranger à l'aide de la connexion et de l'emplacement externe.
  4. Accordez des privilèges aux utilisateurs sur les tables dans le catalogue étranger.
  5. Exécuter des query. Ils s'exécutent directement sur le stockage d'objets.

Sources de données prises en charge

Connectez-vous aux sources suivantes en utilisant la fédération de requêtes :

Connectez-vous aux sources suivantes à l'aide de la fédération de catalogues :

Sources de données Spark

L’API Spark Data Source vous permet de lire et d’écrire dans des bases de données externes directement depuis Databricks. Utilisez-le lorsque 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 accru sur l'exécution des requêtes et la parallélisation.

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 JDBC Unity Catalog pour apporter votre propre Driver avec une gestion centralisée des informations d'identification. Vous pouvez également installer des connecteurs tiers sur des clusters dédiés ou créer des connecteurs entièrement personnalisés en Python à l'aide de l'API PySpark DataSource.

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

Ressources supplémentaires