Cette page explique comment résoudre les problèmes liés au batelier d'exploration des données dans Dataplex.
Base de données introuvable
Lorsque vous exécutez une requête Spark à partir de SQL Workbench ou d'un 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 zone Dataplex sont mappés à 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 bases de données Hive. Par conséquent, les tirets dans les noms de zone Dataplex sont mappés sur des traits de soulignement (_
) dans les noms de base de données Hive.
Pour résoudre ce problème, procédez comme suit :
Obtenez la liste des bases de données disponibles:
show databases
Examinez la liste des noms de base de données renvoyés et assurez-vous d'interroger le bon nom de base de données.
Table introuvable
Lorsque vous exécutez une requête Spark à partir de SQL Workbench ou d'un 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 à l'aide de Dataproc Metastore (DPMS). Les requêtes Spark sur l'environnement de travail SQL ou les notebooks Jupyter se connectent à DPMS lors de l'exécution de requêtes SQL pour obtenir les métadonnées de la table.
Pour résoudre ce problème, procédez comme suit :
Obtenez la liste des tables disponibles:
show tables in DATABASE_NAME
Assurez-vous d'interroger le bon nom de table.
Si le nom de la table contient des majuscules, définissez
spark.sql.caseSensitive
surtrue
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 les fonctionnalités d'exploration dans Dataplex, vous devez disposer des rôles et des autorisations requis sur les ressources Dataplex et les éléments sous-jacents.
Pour résoudre le problème d'autorisation, procédez comme suit:
- Assurez-vous de disposer des rôles et autorisations requis pour utiliser l'atelier 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 des autorisations
read
sur le bucket Cloud Storage configuré dans l'environnement.
Impossible de supprimer un lac contenant des scripts ou des notebooks
Lorsque vous supprimez un lac utilisé pour Dataplex Explore 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.
Dataplex Explore nécessite la présence d'au moins un environnement dans le navigateur de ressources.
Pour résoudre ce problème, utilisez l'une des solutions suivantes :
- Utilisez les commandes de la gcloud CLI pour supprimer les scripts et les notebooks du lac, puis supprimez le lac.
- Créez un environnement temporaire qui active le navigateur de ressources. Supprimez tous les scripts et les blocs-notes, puis l'environnement temporaire et le lac.
Tâche abandonnée
Lorsque vous exécutez une requête Spark, la tâche est interrompue en cas d'erreur critique.
Pour résoudre ce problème, consultez le message d'erreur pour identifier la cause du problème et la corriger.
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, qui est disponible sur 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
correspond à la projection supplémentaire. Pour en savoir plus, consultez la page d'informations sur le problème.
Les lacs n'apparaissent pas dans l'explorateur de ressources Explorer
L'exploration n'est disponible que pour les lacs 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 commencer à utiliser Dataplex Explore
Dans la console Google Cloud , sur la page Dataplex, lorsque vous cliquez sur Explorer, le message suivant s'affiche:
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 comporte un Dataproc Metastore (DPMS) configuré et au moins un environnement configuré.
Pour résoudre ce problème, associez votre lac à Dataproc Metastore.
Restrictions liées aux quotas
Lorsque vous créez un environnement, des erreurs liées aux quotas peuvent s'afficher.
Pour résoudre ce problème, examinez les quotas suivants avant de créer un environnement:
- Vous pouvez créer 10 environnements par lac.
- Vous pouvez créer des environnements avec un maximum de 150 nœuds.
- La durée des sessions utilisateur individuelles est limitée à 10 heures.
Le délai 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 est utilisée pour exécuter les requêtes et les notebooks suivants pour le même utilisateur.
Pour réduire le délai de démarrage de la session, créez un environnement par défaut avec le démarrage rapide activé.
Impossible de planifier des notebooks contenant des packages Python personnalisés
Dans la console Google Cloud , lorsque vous planifiez un notebook contenant des paquets 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 paquets Python personnalisés.
Pour résoudre ce problème, utilisez la gcloud CLI pour planifier des notebooks contenant des packages personnalisés.