À propos de la fédération de métadonnées

La fédération de métadonnées est un service qui vous permet d'accéder à plusieurs sources de métadonnées à partir d'un seul point de terminaison.

Pour configurer la fédération, vous devez créer un service de fédération, puis configurer vos sources de métadonnées. Ensuite, le service expose un seul point de terminaison gRPC que vous pouvez utiliser pour accéder à toutes vos métadonnées.

Par exemple, à l'aide de la fédération, vous pouvez créer un cluster Dataproc qui expose plusieurs services Dataproc Metastore via un seul point de terminaison. Vous pouvez ensuite exécuter des jobs big data via des moteurs de logiciels Open Source (OSS), tels que Spark ou Hive, pour accéder à vos métadonnées sur plusieurs métastores.

Fonctionnement de la fédération

Les charges de travail de big data Open Source exécutées sur Spark ou Hive envoient des requêtes à l'API Hive Metastore pour extraire les métadonnées au moment de l'exécution.

  • L'interface Hive Metastore est compatible avec les méthodes de lecture et d'écriture. Le service de fédération expose une version gRPC de l'interface du métastore Hive.
  • Au moment de l'exécution, lorsque le service de fédération reçoit une requête, il vérifie l'ordre des sources pour récupérer les métadonnées appropriées.

Sources de métadonnées

Lorsque vous créez un service de fédération, vous devez ajouter une source de métadonnées. Vous pouvez utiliser les sources suivantes comme métamagasins backend:

  • Une instance Dataproc Metastore.
  • Projet contenant un ou plusieurs ensembles de données BigQuery.
  • Un lac Dataplex (aperçu).

Restrictions liées aux sources

La section suivante liste les restrictions que vous devez respecter lorsque vous utilisez différentes sources de métadonnées.

Toutes les sources

Les restrictions suivantes s'appliquent à toutes les sources de métadonnées:

  • Un service de fédération ne contient pas ses propres données. À la place, le service de fédération ne diffuse que les métadonnées de l'une de ses sources de métadonnées.
  • Un service de fédération ne peut pas être une source de métadonnées dans un autre service de fédération.

Dataproc Metastore

Si vous utilisez un Dataproc Metastore comme source, les restrictions suivantes s'appliquent:

  • Les services de fédération ne sont disponibles que via des points de terminaison gRPC. Pour utiliser un métastore Dataproc avec la fédération, créez-le avec un point de terminaison gRPC.
  • Les services de fédération peuvent être associés à des services Dataproc Metastore dans une seule région. Les services de fédération ne sont pas compatibles avec les services Dataproc Metastore multirégionaux.

BigQuery

Si vous utilisez un projet contenant des ensembles de données BigQuery comme source, vous devez remplir les conditions suivantes:

  • Accordez les rôles IAM appropriés pour accéder au projet contenant les ensembles de données BigQuery.
  • Ajoutez au moins un service Dataproc Metastore en tant que source, ainsi que vos ensembles de données BigQuery.

Lacs Dataplex

  • Attribuez un rôle IAM contenant l'autorisation dataplex.lakes.get.
  • Ajoutez au moins un service Dataproc Metastore en tant que source, ainsi que votre lac Dataplex.

Ordre des sources

Votre service de fédération traite les requêtes de métadonnées par ordre de priorité. Ce concept est appelé "tri source". Au moment de l'exécution, lorsque le service de fédération reçoit une requête, il vérifie l'ordre des sources et effectue l'une des actions suivantes:

  • Si la requête contient un nom de base de données La requête est acheminée vers le métastore backend contenant le nom de la base de données. Si plusieurs métastores contiennent le même nom de base de données, la requête est acheminée vers le métastore ayant le rang le plus bas.
  • Si la requête crée ou supprime une base de données La requête est acheminée vers le métastore ayant le rang le plus bas.
  • Si la requête ne contient pas de nom de base de données et qu'elle ne crée ni ne supprime pas de base de données La requête est acheminée vers l'instance Dataproc Metastore ayant le rang le plus bas. set_ugi et create_database sont des exemples de requêtes Hive Metastore qui ne spécifient pas de base de données.
  • Si aucun des métamagasins ne contient de base de données Le moteur OSS répond avec l'équivalent d'une erreur introuvable.

Étape suivante