Créer un service de fédération de métadonnées

Cette page explique comment créer un service de fédération de métadonnées pour Dataproc Metastore. Un service de fédération vous permet d'accéder aux métadonnées stockées dans plusieurs sources à partir d'un seul point de terminaison gRPC.

Pour en savoir plus sur le fonctionnement de la fédération et ses limites, consultez la section À propos de la fédération des métadonnées.

Avant de commencer

Rôles requis

Pour obtenir les autorisations nécessaires pour créer un service de fédération et associer un cluster Dataproc, en suivant le principe du moindre privilège, demandez à votre administrateur de vous accorder les rôles IAM suivants:

  • Pour accéder au service de fédération : Accès à la fédération (roles/metastore.federationAccessor) sur le compte utilisateur ou le compte de service
  • Pour accorder un contrôle total sur toutes les ressources Dataproc Metastore : Éditeur Dataproc Metastore (roles/metastore.editor) sur le compte utilisateur ou le compte de service
  • Pour effectuer des opérations de métadonnées sur un métastore Dataproc configuré avec un service de fédération : propriétaire du métastore (metastore.metadataEditor) sur le compte utilisateur ou le compte de service
  • Pour créer un cluster Dataproc : Nœud de calcul Dataproc (roles/dataproc.worker) sur le compte de service de VM Dataproc
  • (Facultatif) Pour accéder aux ensembles de données BigQuery : Utilisez un rôle BigQuery prédéfini approprié pour votre cas d'utilisation sur le compte utilisateur ou le compte de service.
  • (Facultatif) Pour accéder aux lacs Dataplex (version Preview) : Utilisez un rôle prédéfini Dataplex approprié pour votre cas d'utilisation sur le compte utilisateur ou le compte de service.

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour créer un service de fédération et associer un cluster Dataproc, conformément au principe du moindre privilège. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un service de fédération et associer un cluster Dataproc, conformément au principe du moindre privilège:

  • Pour créer un Dataproc Metastore : metastore.services.create sur le compte utilisateur ou le compte de service
  • Pour lister, obtenir, créer, modifier et supprimer un service de fédération : metastore.federations.create, metastore.federations.update, metastore.federations.delete, metastore.federations.get metastore.federations.list sur le compte utilisateur ou le compte de service
  • Pour effectuer des opérations de métadonnées sur un Dataproc Metastore : metastore.services.get, metastore.services.use, metastore.databases.create, metastore.databases.update, metastore.databases.deletemetastore.databases.get,metastore.databases.list, metastore.databases.getIamPolicy, metastore.tables.create, metastore.tables.update, metastore.tables.delete, metastore.tables.get, metastore.tables.list, metastore.tables.getIamPolicy sur le compte utilisateur ou le compte de service
  • (Facultatif) Pour accéder aux ensembles de données BigQuery : For more information, see BigQuery permissions sur le compte utilisateur ou le compte de service
  • (Facultatif) Pour accéder aux lacs Dataplex (Preview) : For more information, see Dataplex permissions sur le compte utilisateur ou le compte de service

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus sur les rôles et les autorisations spécifiques de Dataproc Metastore, consultez Gérer l'accès à Dataproc Metastore avec IAM.

Créer un service de fédération

Les instructions suivantes vous expliquent comment créer un service de fédération et l'associer à une source. Une fois ces étapes terminées, vous pouvez associer votre service de fédération à un cluster Dataproc.

Pour en savoir plus sur les sources de fédération et leurs limites, consultez la section Sources de métadonnées.

Console

  1. Dans la console Google Cloud, ouvrez la page Dataproc Metastore:

    Ouvrir Dataproc Metastore

  2. Dans le menu de navigation de Dataproc, cliquez sur Fédération.

    La page des services de métastore fédérés s'ouvre.

  3. Dans la barre de menu du métastore Federated (Fédéré), cliquez sur Create (Créer).

    La page Créer un service de fédération s'ouvre.

  4. Dans le champ Federation name (Nom de la fédération), saisissez un nom unique pour votre service.

    Pour en savoir plus, consultez la section Convention d'attribution de noms aux ressources.

  5. Sélectionnez Data location (Emplacement des données).

    Assurez-vous de créer votre service de fédération dans les mêmes régions que vos sources Dataproc Metastore.

  6. Sélectionnez la version de Hive.

  7. Pour ajouter une source à votre service de fédération, cliquez sur Ajouter une source.

    Vous pouvez ajouter une ou plusieurs sources. La première source que vous ajoutez dans cette liste est automatiquement définie comme votre métastore principal. Vous pouvez modifier l'ordre des sources après leur création.

    1. Dans le champ Source, sélectionnez votre source de fédération.

      Vous pouvez choisir une instance Dataproc Metastore, un projet contenant un ou plusieurs ensembles de données BigQuery ou un lac Dataplex (bêta).

    2. Dans le champ Source, saisissez les informations suivantes:

      • Pour un service Dataproc Metastore

        1. Dans le champ Projet sélectionné, cliquez sur Parcourir, puis sélectionnez le projet contenant le Dataproc Metastore que vous souhaitez utiliser comme source.

          Assurez-vous que vos sources Dataproc Metastore utilisent une version de Hive compatible avec votre service de fédération. Votre métastore principal doit utiliser une version de Hive supérieure ou égale à celle de votre service de fédération.

        2. Dans le menu déroulant Service de métastore, sélectionnez le métastore Dataproc que vous souhaitez utiliser comme source.

      • Pour BigQuery Dans le champ Projet sélectionné, cliquez sur Parcourir, puis sélectionnez l'ID du projet contenant l'ensemble de données BigQuery.

      • Pour Dataplex (Preview) Dans le champ Projet sélectionné, cliquez sur Parcourir, puis sélectionnez l'ID du projet contenant le lac Dataplex.

    3. Cliquez sur OK.

  8. Pour créer et démarrer le service, cliquez sur Envoyer.

    Vous pouvez désormais associer votre service de fédération à un cluster Dataproc.

Mettre à jour un service de fédération

Les instructions suivantes vous expliquent comment mettre à jour un service de fédération. Vous pouvez effectuer les tâches suivantes:

  • Ajoutez une source à un service de fédération.
  • Supprimez une source d'un service de fédération.
  • Modifier l'ordre des sources contenues dans un service de fédération
  • Supprimez définitivement un service de fédération. Une fois un service supprimé, toutes ses ressources sont libérées.

Console

  1. Dans la console Google Cloud, ouvrez la page Dataproc Metastore:

    Ouvrir Dataproc Metastore

  2. Dans le menu de navigation de Dataproc, cliquez sur Fédération.

    La page des services de métastore fédérés s'ouvre.

  3. Sur la page des services de métastore fédérés, cliquez sur le nom du service que vous souhaitez modifier.

    La page Informations sur le service s'ouvre.

  4. Dans la barre de menu, cliquez sur Modifier.

    La page Modifier le service s'ouvre.

  5. Choisissez les valeurs que vous souhaitez mettre à jour.

  6. Pour mettre à jour le service, cliquez sur Envoyer.

Associer un cluster Dataproc à un service de fédération

Les instructions suivantes vous expliquent comment créer un cluster Dataproc et associer un point de terminaison de service de fédération en tant que métastore.

Avant de suivre ces instructions, suivez toutes les étapes de la section Avant de commencer et créez un service de fédération.

CLI gcloud

Pour créer un cluster Dataproc et associer un point de terminaison de fédération, exécutez la commande gcloud Dataproc clusters create suivante.

 gcloud dataproc clusters create CLUSTER_NAME \
    --region=LOCATION \
    --project=PROJECT_ID \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --image-version=IMAGE_VERSION \
    --service-account=SERVICE_ACCOUNT \
    --optional-components=DOCKER \
    --initialization-actions=gs://metastore-init-actions/metastore-grpc-proxy/metastore-grpc-proxy.sh \
    --metadata="proxy-uri=FEDERATION_URI,hive-version=FEDERATION_VERSION" \
    --properties="hive:hive.metastore.uris=thrift://localhost:9083,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR"

Remplacez les éléments suivants :

  • CLUSTER_NAME: nom de votre nouveau cluster Dataproc.
  • PROJECT_ID: Google Cloud ID du projet dans lequel vous créez le cluster Dataproc.
  • LOCATION: région de votre cluster Dataproc.
  • IMAGE_VERSION: version de l'image Dataproc que vous souhaitez utiliser.

    Assurez-vous que l'image Dataproc que vous utilisez dans cette commande est compatible avec la version de Hive utilisée avec votre service de fédération. Pour en savoir plus, consultez la liste des versions d'image Dataproc.

  • SERVICE_ACCOUNT facultatif: compte de service que vous utilisez pour créer votre cluster Dataproc. S'il n'est pas spécifié, le cluster utilise votre compte de service Compute Engine par défaut.

  • FEDERATION_URI: URI du point de terminaison de votre service de fédération.

  • FEDERATION_VERSION: version Hive utilisée par votre service de fédération.

  • WAREHOUSE_DIR: répertoire de l'entrepôt de votre Dataproc Metastore principal.

Étape suivante