Après avoir créé un service Dataproc Metastore, vous pouvez associer l'un des services suivants :
- Un cluster Dataproc.
- Une instance Apache Hive autogérée, une instance Apache Spark ou un cluster Presto
Une fois que vous avez connecté l'un de ces services, il utilise votre service Dataproc Metastore comme métastore Hive lors de l'exécution des requêtes.
Avant de commencer
- Activez Dataproc Metastore dans votre projet.
- Créez un service Dataproc Metastore.
- Identifiez les exigences de mise en réseau spécifiques à votre projet.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer un Dataproc Metastore et un cluster Dataproc, demandez à votre administrateur de vous accorder le rôles IAM suivants:
-
Pour accorder le contrôle total des ressources Dataproc Metastore, vous pouvez:
-
Éditeur Dataproc Metastore (
roles/metastore.editor
) sur le compte utilisateur ou le compte de service -
Administrateur Dataproc Metastore (
roles/metastore.admin
) sur le compte utilisateur ou de service
-
Éditeur Dataproc Metastore (
-
Pour créer un cluster Dataproc:
(
roles/dataproc.worker
) sur le compte de service de la VM Dataproc -
Pour accorder des autorisations de lecture et d'écriture au répertoire de l'entrepôt Hive :
(
roles/storage.objectAdmin
) sur le compte de service de VM Dataproc
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 Dataproc Metastore et un cluster Dataproc. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer un Dataproc Metastore et un cluster Dataproc :
-
Pour créer un Dataproc Metastore, procédez comme suit:
metastore.services.create
sur le compte utilisateur ou de service -
Pour créer un cluster Dataproc :
dataproc.clusters.create
sur le compte utilisateur ou le compte de service -
Pour accéder au répertoire d'entrepôt Hive:
orgpolicy.policy.get1
,resourcemanager.projects.get
,resourcemanager.projects.list
,storage.objects.*
,storage.multipartUploads.*
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 autorisations et les rôles Dataproc Metastore spécifiques, consultez Gérer l'accès avec IAM.Clusters Dataproc
Dataproc est un service géré Apache Spark et Apache Hadoop qui vous permet de bénéficier d'outils de données Open Source pour le traitement par lot, l'interrogation, le streaming et le machine learning.
Remarques
Avant de créer et d'associer un cluster Dataproc, vérifiez quel protocole de point de terminaison que votre service Dataproc Metastore utilise. Ce protocole définit la façon dont vos clients Hive Metastore accèdent aux métadonnées stockées dans votre Dataproc Metastore. Ce choix peut également affecter les fonctionnalités que vous pouvez intégrer et utiliser avec votre service.
Apache Thrift
Si vous utilisez le protocole de point de terminaison Apache Thrift, tenez compte du configuration réseau requise:
Par défaut, vous devez créer votre cluster Dataproc et votre service Dataproc Metastore sur le même réseau. Votre cluster Dataproc peut également utiliser un sous-réseau du réseau du service Dataproc Metastore.
Si votre cluster Dataproc appartient à un projet différent du réseau, vous devez configurer les autorisations réseau partagées.
Si votre cluster Dataproc appartient à un autre projet que votre service Dataproc Metastore, vous devez configurer des autorisations supplémentaires. avant de créer un cluster Dataproc.
gRPC
Si vous utilisez le protocole de point de terminaison gRPC, envisagez configuration réseau requise:
Une fois que vous avez créé un métastore Dataproc à l'aide du protocole de point de terminaison gRPC, vous devez accorder des rôles IAM supplémentaires.
Si vous utilisez l'authentification de cluster personnel Dataproc, Dataproc Metastore doit utiliser le protocole de point de terminaison gRPC.
Si votre cluster Dataproc appartient à un projet différent de votre service Dataproc Metastore, vous devez configurer des autorisations supplémentaires avant de créer un cluster Dataproc.
Créer un cluster et lui associer un Dataproc Metastore
Les instructions suivantes vous expliquent comment créer un cluster Dataproc et vous y connecter à partir d'un service Dataproc Metastore. Ces instructions supposent que vous avez déjà créé un service Dataproc Metastore.
- Avant de créer votre cluster Dataproc, assurez-vous que l'image Dataproc que vous choisissez est compatible avec la version du métastore Hive que vous avez sélectionnée lorsque vous avez créé votre métastore Dataproc. Pour en savoir plus, consultez la liste des versions d'image Dataproc.
Pour optimiser la connectivité réseau, créez le cluster Dataproc dans la même région que votre service Dataproc Metastore.
Console
Dans la console Google Cloud, ouvrez la page Dataproc Create a cluster (Créer un cluster) :
Dans le champ Nom du cluster, saisissez le nom du cluster.
Pour les menus Region (Région) et Zone, sélectionnez la même région. dans lequel vous avez créé votre service Dataproc Metastore. Vous pouvez choisir n'importe quelle zone.
Cliquez sur l'onglet Personnaliser le cluster.
Dans la section Configuration du réseau, sélectionnez le réseau que dans lequel vous avez créé votre service Dataproc Metastore.
Dans la section Dataproc Metastore, sélectionnez le service Dataproc Metastore que vous souhaitez joindre. Si vous n'en avez pas encore créé un, vous pouvez sélectionner Créer Nouveau service.
Facultatif: Si votre service Dataproc Metastore utilise l'API gRPC protocole du point de terminaison:
- Cliquez sur l'onglet Manage Security (Gérer la sécurité).
- Dans la section Projet Ace, sélectionnez Active le champ d'application cloud-platform pour ce cluster.
Configurez les autres options de service si nécessaire.
Pour créer le cluster, cliquez sur Créer.
Votre nouveau cluster apparaît dans la liste des clusters. L'état du cluster indique Provisioning (Provisionnement) jusqu'à ce qu'il soit prêt à être utilisé. Lorsqu'elle est prête à être utilisée, son état passe à Running (En cours d'exécution).
CLI gcloud
Pour créer un cluster et associer un Dataproc Metastore, exécutez la commande gcloud dataproc clusters create
suivante :
gcloud dataproc clusters create CLUSTER_NAME \ --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \ --region=LOCATION \ --scopes=SCOPES
Remplacez les éléments suivants :
CLUSTER_NAME
: nom de votre nouveau cluster Dataproc.PROJECT_ID
: ID du projet dans lequel vous avez créé votre service Dataproc Metastore.LOCATION
: même région que celle dans laquelle vous avez créé votre service Dataproc Metastore.SERVICE
: nom du service Dataproc Metastore que vous associez au cluster.SCOPES
: (facultatif) Si votre service Dataproc Metastore utilise le protocole de point de terminaison gRPC, utilisezcloud-platform
.
REST
Suivez les instructions de l'API pour créer un cluster à l'aide de l'explorateur d'API.
Associer un cluster à l'aide des propriétés de cluster Dataproc
Vous pouvez également associer un cluster Dataproc à un Dataproc Metastore à l'aide de propriétés Dataproc.
Ces propriétés incluent le ENDPOINT_URI
Dataproc Metastore et
WAREHOUSE_DIR
Suivez ces instructions si votre service Dataproc Metastore utilise Private Service Connect ou si vous souhaitez associer un cluster Dataproc à la version auxiliaire de votre service Dataproc Metastore.
Il existe deux façons d'associer un cluster Dataproc à l'aide du
Propriétés ENDPOINT_URI
et WAREHOUSE_DIR
:
Option 1 : Lors de la création d'un cluster Dataproc
Lorsque vous créez un cluster Dataproc, utilisez l'option properties avec la configuration Hive suivante.
gcloud dataproc clusters create CLUSTER_NAME \ --properties="hive:hive.metastore.uris=ENDPOINT_URI,hive:hive.metastore.warehouse.dir=WAREHOUSE_DIR/hive-warehouse"
Remplacez les éléments suivants :
CLUSTER_NAME
: nom de votre nouveau Dataproc cluster.ENDPOINT_URI
: URI du point de terminaison de votre service Dataproc Metastore.WAREHOUSE_DIR
: emplacement de votre répertoire d'entrepôt Hive.
Option 2 : Mettre à jour le fichier hive-site.xml
Vous pouvez aussi associer un cluster Dataproc en modifiant directement le
le fichier hive-site.xml
du cluster.
- Connectez-vous au cluster
.*-m
à l'aide de SSH. Ouvrez le fichier
/etc/hive/conf/hive-site.xml
et modifiez les lignes suivantes:<property> <name>hive.metastore.uris</name> <!-- Update this value. --> <value>ENDPOINT_URI</value> </property> <!-- Add this property entry. --> <property> <name>hive.metastore.warehouse.dir</name> <value>WAREHOUSE_DIR</value> </property>
Remplacez les éléments suivants :
ENDPOINT_URI
: URI du point de terminaison de votre service Dataproc Metastore.WAREHOUSE_DIR
: position de votre Répertoire d'entrepôts Hive.
Redémarrez HiveServer2.
sudo systemctl restart hive-server2.service
Clusters autogérés
Un cluster autogéré peut être une instance Apache Hive, une instance Apache Spark ou un cluster Presto.
Associer un cluster autogéré
Définissez les valeurs suivantes dans votre fichier de configuration client:
hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR
Remplacez les éléments suivants :
ENDPOINT_URI
: URI du point de terminaison de votre service Dataproc Metastore.WAREHOUSE_DIR
: position de votre Répertoire d'entrepôts Hive.
Étape suivante
- Guide de démarrage rapide pour le déploiement de Dataproc Metastore
- Présentation de Dataproc Metastore
- Présentation de Dataproc