En esta página, se muestra cómo resolver problemas con el espacio de trabajo de exploración de datos en Dataplex.
No se encontró la base de datos
Cuando ejecutas una consulta de Spark desde el Workbench de SQL o el notebook de Jupyter, se produce el siguiente error:
Script failed in execution.
org.apache.spark.sql.catalyst.parser.ParseException:
No viable alternative at input `zone-name`(line 1, pos24)
Los nombres de las zonas de Dataplex se asignan a nombres de bases de datos compatibles con Hive,
que se pueden consultar con Spark. Los nombres de las zonas de Dataplex pueden contener un guion (-
), mientras que los nombres de las bases de datos de Hive no. Por lo tanto, los guiones
en los nombres de las zonas de Dataplex se asignan a guiones bajos (_
) en los
nombres de las bases de datos de Hive.
Para resolver el problema, sigue estos pasos:
Obtén una lista de las bases de datos disponibles:
show databases
Revisa la lista de los nombres de las bases de datos que se muestran y asegúrate de consultar el nombre correcto de la base de datos.
No se encontró la tabla
Cuando ejecutas una consulta de Spark desde el Workbench de SQL o el notebook de Jupyter, se produce el siguiente error:
Script failed in execution.
org.apache.spark.sql.AnalysisException: Table or view not found
Dataplex descubre los metadatos de los elementos de BigQuery y Cloud Storage, y los hace accesibles mediante Dataproc Metastore (DPMS). Las consultas de Spark en Workbench de SQL o en los notebooks de Jupyter se conectan al DPMS mientras se ejecutan las consultas de SQL para obtener los metadatos de la tabla.
Para resolver el problema, sigue estos pasos:
Obtén la lista de tablas disponibles:
show tables in DATABASE_NAME
Asegúrate de consultar el nombre de tabla correcto.
Si el nombre de la tabla contiene letras mayúsculas, establece
spark.sql.caseSensitive
comotrue
en la configuración del entorno.
Errores de permisos
Las consultas de Spark fallan con errores de permisos. Por ejemplo:
HiveException
TTransportException
Para usar las funciones de Explorar en Dataplex, debes tener los roles y permisos necesarios en los recursos y los recursos subyacentes de Dataplex.
Para resolver el problema de permisos, sigue estos pasos:
- Asegúrate de tener los permisos y funciones necesarios para usar el área de trabajo de Exploración de datos.
- Asegúrate de tener permisos
read
en los elementos subyacentes de Cloud Storage y BigQuery. - Para los paquetes personalizados, asegúrate de que el agente de servicio de Cloud Dataplex
tenga permisos
read
en el bucket de Cloud Storage configurado en el entorno.
No se pudo borrar el lake que contiene secuencias de comandos o notebooks
Cuando borras un lake que se usa para Dataplex Explore y si el lake contiene secuencias de comandos o notebooks, se produce el siguiente error:
Failed to delete `projects/locations/region/lakes/lakename` since it has child
resources.
Dataplex Explore requiere al menos un entorno para estar presente en el navegador de recursos.
Para resolver este problema, usa una de las siguientes soluciones alternativas:
- Usa los comandos de gcloud CLI para borrar secuencias de comandos y notebooks del lake y, luego, borrarlo.
- Crear un entorno temporal que habilite el navegador de recursos Borra todas las secuencias de comandos y los notebooks, y, luego, el entorno temporal y el lake.
Se anuló el trabajo
Cuando ejecutas una consulta de Spark, el trabajo se anula si hay un error crítico.
Para resolver el problema, consulta el mensaje de error a fin de identificar su causa raíz y corregirlo.
TTransportException cuando se consultan tablas de Iceberg
Cuando consultas una tabla ancha de Iceberg, se produce la TTransportException
.
Iceberg tiene un problema conocido en Spark 3.1 que está disponible en las imágenes de Dataproc 2.0 que usa Dataplex Explore.
Para resolver este problema, agrega una proyección adicional en la consulta SELECT
.
Por ejemplo:
SELECT a,b,c, 1 AS dummy FROM ICEBERG_TABLE
En este ejemplo, 1 AS dummy
es la proyección adicional. Para obtener más información, consulta la página de detalles del problema.
Los data lakes no aparecen en el navegador de recursos de Explore
Explorar solo está disponible para lakes en las regiones us-central1
, europe-west2
, europe-west1
, us-east1
, us-west1
, asia-southeast1
y asia-northeast1
. Los lakes que pertenecen a cualquier otra región no aparecen en el navegador de recursos Explorar.
No se puede comenzar a usar Dataplex Explore
En la consola de Google Cloud, en la página Dataplex, cuando haces clic en Explorar, se muestra el siguiente mensaje:
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.
La exploración solo funciona si un lake tiene configurado Dataproc Metastore (DPMS) y al menos una configuración de entorno.
Para resolver este problema, vincula tu lake a Dataproc Metastore.
Restricciones de cuota
Cuando creas un entorno, es posible que veas errores relacionados con la cuota.
Para resolver este problema, revisa las siguientes cuotas antes de crear un entorno:
- Puedes crear 10 entornos por lake.
- Puedes crear entornos con un máximo de 150 nodos.
- La duración de las sesiones de usuarios individuales se limita a 10 horas.
El tiempo de inicio de la sesión es largo
Tarda entre 2.5 y 3.5 minutos en iniciar una nueva sesión por usuario. Una vez que una sesión está activa, se usa a fin de ejecutar consultas y notebooks posteriores para el mismo usuario.
Para reducir el tiempo de inicio de la sesión, crea un entorno predeterminado con el inicio rápido habilitado.
No se pueden programar notebooks que contengan paquetes personalizados de Python
En la consola de Google Cloud, cuando programas un notebook que contiene paquetes personalizados de Python, se produce el siguiente error:
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.
No puedes programar un notebook en la consola de Google Cloud si el entorno tiene paquetes personalizados de Python.
Para resolver este problema, usa gcloud CLI a fin de programar notebooks que contengan paquetes personalizados.