Metastore Hive

Dataproc Metastore est un service de stockage métastore (HMS) Apache Hive sans serveur, qui s'exécute sur Google Cloud et propose un service d'autoréparation.

Pour gérer entièrement vos métadonnées, Dataproc Metastore mappe vos des données vers Apache Hive tableaux.

Versions d'Apache Hive compatibles

Dataproc Metastore n'est compatible qu'avec des versions spécifiques d'Apache Hive. Pour en savoir plus, consultez les Règles relatives aux versions de Hive.

Comment Hive gère les métadonnées

Comme Dataproc Metastore est un métastore Hive, il est important de comprendre comment il gère vos métadonnées.

Par défaut, toutes les applications Hive peuvent avoir des tables internes gérées ou tables externes non gérées. Autrement dit, les métadonnées que vous stockez dans un Le service Dataproc Metastore peut exister à la fois dans les tables internes et externes.

Lors de la modification de données, un service Dataproc Metastore (Hive) traite les tables internes et externes.

  • Tableaux internes. Gère les métadonnées et les données de table.
  • Tables externes. Gère uniquement les métadonnées.

Par exemple, si vous supprimez une définition de table à l'aide de l'instruction SQL Hive DROP TABLE :

drop table foo
  • Tableaux internes. Dataproc Metastore supprime toutes les métadonnées. Elle supprime également les fichiers associés à la table.

  • Tables externes. Dataproc Metastore supprime uniquement les métadonnées. Il conserve les données associées à la table.

Répertoire d'entrepôt Hive

Dataproc Metastore utilise le répertoire d'entrepôt Hive pour gérer dans vos tables internes. Le répertoire d'entrepôt Hive est l'emplacement de vos données stockées.

Lorsque vous utilisez un service Dataproc Metastore, l'entrepôt Hive par défaut est un bucket Cloud Storage. Dataproc Metastore uniquement est compatible avec l'utilisation de buckets Cloud Storage pour le répertoire d'entrepôt. En comparaison, il s'agit d'un service différent de celui d'un système de gestion de cluster sur site, dans lequel l'entrepôt Hive pointe généralement vers un répertoire local.

Ce bucket est créé automatiquement pour vous chaque fois que vous créez Service Dataproc Metastore. Cette valeur peut être modifiée en définissant un remplacement de configuration de métastore Hive sur le hive.metastore.warehouse.dir .

Buckets d'artefacts Cloud Storage

Le bucket d'artefacts contient vos artefacts Dataproc Metastore, telles que les métadonnées exportées et les données de tables internes gérées.

Lorsque vous créez un service Dataproc Metastore, un bucket Cloud Storage est automatiquement créé dans votre projet. Par défaut, le bucket d'artefacts et le répertoire de l'entrepôt pointent vers le même bucket. Toi ne peut pas modifier l'emplacement du bucket d'artefacts, mais vous pouvez modifier l'emplacement du répertoire d'entrepôt Hive.

Le bucket d'artefacts se trouve à l'emplacement suivant:

  • gs://your-artifacts-bucket/hive-warehouse
  • Par exemple, gs://gcs-your-project-name-0825d7b3-0627-4637-8fd0-cc6271d00eb4.

Accéder au répertoire d'entrepôt Hive

Une fois votre bucket créé automatiquement, assurez-vous que vos comptes de service Dataproc n'avez pas l'autorisation d'accéder au répertoire de l'entrepôt Hive.

  • Pour accéder au répertoire d'entrepôt au niveau de l'objet (par exemple, gs://mybucket/object), accordez aux comptes de service Dataproc un accès en lecture et en écriture à l'objet de stockage du bucket, à l'aide du rôle roles/storage.objectAdmin. Ce rôle doit être défini au niveau du bucket ou à un niveau supérieur.

  • Pour accéder au répertoire d'entrepôt lorsque vous utilisez un dossier de premier niveau (par exemple, gs://mybucket), accordez aux comptes de service Dataproc un accès en lecture et en écriture à l'objet de stockage du bucket, à l'aide du rôle roles/storage.storageAdmin.

Si le répertoire d'entrepôt Hive ne se trouve pas dans le même projet que Dataproc Metastore, assurez-vous que Dataproc Metastore l'agent de service est autorisé à accéder au répertoire de l'entrepôt Hive. Le service pour un projet Dataproc Metastore, service-PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com Accordez à l'agent de service un accès en lecture et en écriture au bucket à l'aide de la méthode Rôle roles/storage.objectAdmin.

Trouver le répertoire d'entrepôt Hive

  1. Ouvrez la page Dataproc Metastore.
  2. Cliquez sur le nom de votre service.

    La page "Service details" (Détails du service) s'ouvre.

  3. Dans le tableau de configuration, recherchez Remplacements de configuration Metastore > hive.metastore.warehouse.dir.

  4. Recherchez la valeur commençant par gs://.

    Cette valeur correspond à l'emplacement de votre répertoire d'entrepôt Hive.

    Valeurs hive.metastore.warehouse.dir

Modifier le répertoire d'entrepôt Hive

Pour utiliser votre propre bucket Cloud Storage avec Dataproc Metastore, Définir un remplacement de configuration de métastore Hive de sorte qu'il pointe vers le nouvel emplacement du bucket.

Si vous modifiez votre répertoire d'entrepôt par défaut, suivez ces recommandations.

  • N'utilisez pas la racine du bucket Cloud Storage (gs://mybucket) pour stocker Tables Hive.

  • Assurez-vous que le compte de service de votre VM Dataproc Metastore est autorisé à accéder au répertoire d'entrepôt Hive ;

  • Pour de meilleurs résultats, utilisez des buckets Cloud Storage situés dans la même région que votre service Dataproc Metastore. Bien que Dataproc Metastore autorise les buckets interrégionaux, les ressources hébergées en colocation sont plus performantes. Par exemple, un bucket multirégional de l'UE ne fonctionne pas bien avec un service us-central1. L'accès interrégional se traduit par latence accrue, absence d'isolation des défaillances régionales et frais d'utilisation interrégionale la bande passante réseau.

Modifier le répertoire d'entrepôt Hive

  1. Ouvrez la page Dataproc Metastore.
  2. Cliquez sur le nom de votre service.

    La page "Service details" (Détails du service) s'ouvre.

  3. Dans le tableau de configuration, recherchez Remplacements de configuration Metastore > hive.metastore.warehouse.dir.

  4. Remplacez la valeur hive.metastore.warehouse.dir par l'emplacement de votre nouveau bucket. Exemple :gs://my-bucket/path/to/location

Supprimer votre bucket

La suppression de votre service Dataproc Metastore n'est pas automatique supprimer votre bucket d'artefacts Cloud Storage. Votre bucket n'est pas automatiquement configuré supprimé, car il pourrait contenir des données post-service utiles. Pour supprimer votre bucket, exécutez une opération de suppression Cloud Storage.

Étape suivante