En esta página, se muestra cómo resolver problemas con la Workbench de exploración de datos en Dataplex.
No se encontró la base de datos
Cuando ejecutas una consulta de Spark desde el área de trabajo 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 pueden. 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 nombres de bases de datos que se muestran y asegúrate de consultar el nombre correcto.
No se encontró la tabla
Cuando ejecutas una consulta de Spark desde SQL Workbench o un notebook de Jupyter, ocurre lo siguiente se produce un error:
Script failed in execution.
org.apache.spark.sql.AnalysisException: Table or view not found
Dataplex descubre los metadatos para BigQuery y de Google Cloud Storage y lo hace accesible con Dataproc Metastore (DPMS). Las consultas de Spark en SQL Workbench o los notebooks de Jupyter se conectan a DPMS mientras se ejecutan 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 estar consultando el nombre de tabla correcto.
Si el nombre de la tabla contiene letras mayúsculas, establece
spark.sql.caseSensitive
. atrue
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 de Dataplex y activos subyacentes.
Para resolver el problema de permisos, sigue estos pasos:
- Asegúrate de tener los roles y permisos necesarios para usar la mesa de trabajo de Exploración de datos.
- Asegúrate de tener permisos
read
en los recursos subyacentes de Cloud Storage y BigQuery. - Para paquetes personalizados, asegúrate de que el agente de servicio de Cloud Dataplex
tiene permisos
read
en el bucket de Cloud Storage configurado en el en un entorno de nube.
No se puede borrar el lake que contiene secuencias de comandos o notebooks
Cuando borras un lake que se usa para Dataplex Explore y si este 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 que haya al menos un entorno en el navegador de recursos.
Para resolver este problema, usa una de las siguientes soluciones alternativas:
- Usar los comandos de gcloud CLI para borrar secuencias de comandos y notebooks de el lake y, luego, borrarlo.
- Crear un entorno temporal que habilite el navegador de recursos Borrar todas las secuencias de comandos y los notebooks, seguidos del entorno temporal y el lake.
Se abortó el trabajo
Cuando ejecutas una consulta de Spark, el trabajo se cancela si hay un error crítico.
Para resolver este problema, consulta el mensaje de error para identificar la causa raíz de el problema y corregirlo.
TTransportException cuando se consultan tablas de Iceberg
Cuando consultas una tabla de Iceberg ancha, se produce el TTransportException
.
Iceberg tiene un problema conocido en Spark 3.1, que está disponible en las imágenes de Dataproc 2.0 que usa Análisis de Dataplex.
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 lakes no aparecen en el navegador de recursos Explorar
Explorar solo está disponible para lakes en us-central1
, europe-west2
,
europe-west1
, us-east1
, us-west1
, asia-southeast1
y asia-northeast1
regiones. Los lagos que pertenecen a cualquier otra región no aparecen en el navegador de recursos de Explorar.
No se pudo comenzar a usar la exploración de Dataplex
En la consola de Google Cloud, en 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.
Explorar solo funciona si un lake tiene configurado un Dataproc Metastore (DPMS) y al menos un entorno configurado.
Para resolver este problema, vincula tu lake a Dataproc Metastore.
Restricciones de cuotas
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 los usuarios individuales está restringida a 10 horas.
El tiempo de inicio de la sesión es largo
Iniciar una nueva sesión por usuario demora entre 2.5 y 3.5 minutos. Cuando se crea una sesión activo, se usa para 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 de Python personalizados
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 la CLI de gcloud para programar notebooks que contengan paquetes personalizados.