Erreurs d'exploration courantes

Cette page explique comment résoudre les problèmes liés à Data Exploration Workbench dans Dataplex.

Base de données introuvable

Lorsque vous exécutez une requête Spark à partir de SQL Workbench ou du notebook Jupyter, l'erreur suivante se produit:

Script failed in execution.
org.apache.spark.sql.catalyst.parser.ParseException:
No viable alternative at input `zone-name`(line 1, pos24)

Les noms de zones Dataplex sont mappés avec des noms de base de données compatibles avec Hive, qui peuvent être interrogés à l'aide de Spark. Les noms de zones Dataplex peuvent contenir un trait d'union (-), contrairement aux noms de base de données Hive. Par conséquent, les traits d'union dans les noms de zones Dataplex sont mappés avec des traits de soulignement (_) dans les noms de base de données Hive.

Pour résoudre ce problème, procédez comme suit :

  1. Obtenez la liste des bases de données disponibles:

    show databases
    
  2. Examinez la liste des noms de base de données renvoyés et assurez-vous d'interroger le nom de base de données approprié.

Table introuvable

Lorsque vous exécutez une requête Spark à partir de SQL Workbench ou du notebook Jupyter, l'erreur suivante se produit:

Script failed in execution.
org.apache.spark.sql.AnalysisException: Table or view not found

Dataplex découvre les métadonnées des éléments BigQuery et Cloud Storage, et les rend accessibles via Dataproc Metastore (DPMS). Les requêtes Spark sur SQL Workbench ou les notebooks Jupyter se connectent à DPMS tout en exécutant des requêtes SQL afin d'obtenir les métadonnées de la table.

Pour résoudre ce problème, procédez comme suit :

  1. Obtenez la liste des tables disponibles:

    show tables in DATABASE_NAME
    
  2. Assurez-vous d'interroger le nom de table correct.

  3. Si le nom de la table contient des lettres majuscules, définissez spark.sql.caseSensitive sur true dans la configuration de l'environnement.

Erreurs liées aux autorisations

Les requêtes Spark échouent avec des erreurs d'autorisation. Exemple :

  • HiveException
  • TTransportException

Pour utiliser la fonctionnalité Explorer dans Dataplex, vous devez disposer des rôles et des autorisations requis pour les ressources Dataplex et les éléments sous-jacents.

Pour résoudre ce problème, procédez comme suit:

  • Assurez-vous de disposer des rôles et autorisations requis pour utiliser l'environnement d'exploration des données.
  • Assurez-vous de disposer des autorisations read sur les éléments Cloud Storage et BigQuery sous-jacents.
  • Pour les packages personnalisés, assurez-vous que l'agent de service Cloud Dataplex dispose d'autorisations read sur le bucket Cloud Storage configuré dans l'environnement.

Impossible de supprimer le lac contenant des scripts ou des notebooks

Lorsque vous supprimez un lac utilisé pour l'exploration Dataplex, et qu'il contient des scripts ou des notebooks, l'erreur suivante se produit:

Failed to delete `projects/locations/region/lakes/lakename` since it has child
resources.

L'exploration de Dataplex nécessite qu'au moins un environnement soit présent dans le navigateur de ressources.

Pour résoudre ce problème, utilisez l'une des solutions suivantes:

  • Utilisez les commandes de gcloud CLI pour supprimer les scripts et les notebooks du lac, puis supprimez-le.
  • Créez un environnement temporaire qui active le navigateur de ressources. Supprimez tous les scripts et notebooks, suivis de l'environnement temporaire et du lac.

Tâche annulée

Lorsque vous exécutez une requête Spark, la tâche est annulée en cas d'erreur critique.

Pour résoudre ce problème, consultez le message d'erreur afin d'identifier la cause première du problème, puis corrigez-le.

TTransportException lors de l'interrogation de tables Iceberg

Lorsque vous interrogez une table Iceberg large, TTransportException se produit.

Iceberg présente un problème connu sur Spark 3.1 disponible avec les images Dataproc 2.0 utilisées par Dataplex Explore.

Pour résoudre ce problème, ajoutez une projection supplémentaire dans la requête SELECT. Exemple :

SELECT a,b,c, 1 AS dummy FROM ICEBERG_TABLE

Dans cet exemple, 1 AS dummy est la projection supplémentaire. Pour en savoir plus, consultez la page d'informations du problème.

Les lacs n'apparaissent pas dans le navigateur de ressources Explorer

L'exploration n'est disponible que pour les lacs situés dans les régions us-central1, europe-west2, europe-west1, us-east1, us-west1, asia-southeast1 et asia-northeast1. Les lacs appartenant à une autre région n'apparaissent pas dans le navigateur de ressources Explorer.

Impossible de démarrer avec l'exploration de Dataplex

Dans la console Google Cloud, sur la page Dataplex, le message suivant s'affiche lorsque vous cliquez sur Explorer:

In order to use Dataplex Explore to query data in CLoud Storage and BigQuery
using open soure applications (ex: SparkSQL), connect a metastore. Get started
by setting up one. If DPMS is already attached to the lake and you are seeing
this page, please check the DPMS logs for any possible issues.

L'exploration ne fonctionne que si un lac dispose d'un Dataproc Metastore (DPMS) et d'au moins une configuration d'environnement.

Pour résoudre ce problème, associez votre lac à Dataproc Metastore.

Restrictions de quota

Lorsque vous créez un environnement, des erreurs liées aux quotas peuvent s'afficher.

Pour résoudre ce problème, vérifiez les quotas suivants avant de créer un environnement:

  • Vous pouvez créer 10 environnements par lac.
  • Vous pouvez créer des environnements comportant un maximum de 150 nœuds.
  • La durée des sessions individuelles est limitée à 10 heures.

Le temps de démarrage de la session est long

Le démarrage d'une nouvelle session par utilisateur prend entre 2,5 et 3,5 minutes. Une fois qu'une session est active, elle permet d'exécuter les requêtes et les notebooks suivants pour le même utilisateur.

Pour réduire le temps de démarrage de la session, créez un environnement par défaut avec le démarrage rapide activé.

Impossible de programmer des notebooks contenant des packages Python personnalisés

Dans la console Google Cloud, lorsque vous planifiez un notebook contenant des packages Python personnalisés, l'erreur suivante se produit:

Selected environment ENVIRONMENT_NAME has additional Python
packages configured. These packages will not be available in the default runtime
for the scheduled notebook when scheduling in the Console. To make the required
additional Python packages available in the runtime, please create Notebook
Schedule using gcloud command instead, referencing a container image with
required additional packages.

Vous ne pouvez pas planifier un notebook dans la console Google Cloud si l'environnement comporte des packages Python personnalisés.

Pour résoudre ce problème, utilisez gcloud CLI pour planifier des notebooks contenant des packages personnalisés.