Nesta página, mostramos como resolver problemas com o workbench de exploração de dados no Dataplex.
Banco de dados não encontrado
Ao executar uma consulta do Spark no SQL workbench ou no notebook Jupyter, o erro a seguir ocorre:
Script failed in execution.
org.apache.spark.sql.catalyst.parser.ParseException:
No viable alternative at input `zone-name`(line 1, pos24)
Os nomes das zonas do Dataplex são mapeados para nomes de bancos de dados compatíveis com o Hive,
que podem ser consultados usando o Spark. Os nomes de zona do Dataplex podem conter
um hífen (-
), ao contrário dos nomes do banco de dados Hive. Portanto, os hifens
nos nomes das zonas do Dataplex são mapeados para sublinhados (_
) nos
nomes dos bancos de dados do Hive.
Para resolver o problema, siga estas etapas:
Consulte uma lista dos bancos de dados disponíveis:
show databases
Revise a lista de nomes de bancos de dados retornados e verifique se você está consultando o nome correto do banco de dados.
Tabela não encontrada
Ao executar uma consulta do Spark no SQL workbench ou no notebook Jupyter, o erro a seguir ocorre:
Script failed in execution.
org.apache.spark.sql.AnalysisException: Table or view not found
O Dataplex descobre os metadados dos recursos do BigQuery e do Cloud Storage e os torna acessíveis usando o metastore do Dataproc (DPMS). As consultas do Spark no SQL workbench ou notebooks do Jupyter se conectam ao DPMS durante a execução de consultas SQL para receber os metadados da tabela.
Para resolver o problema, siga estas etapas:
Consulte a lista de tabelas disponíveis:
show tables in DATABASE_NAME
Verifique se você está consultando o nome correto da tabela.
Se o nome da tabela tiver letras maiúsculas, defina
spark.sql.caseSensitive
comotrue
na configuração do ambiente.
Erros de permissão
As consultas do Spark falham com erros de permissão. Exemplo:
HiveException
TTransportException
Para usar os recursos do Explore no Dataplex, você precisa ter os papéis e as permissões necessários nos recursos do Dataplex e nos recursos subjacentes.
Para resolver o problema de permissão, siga estas etapas:
- Verifique se você tem os papéis e permissões necessários para usar o workbench de exploração de dados.
- Verifique se você tem permissões
read
nos recursos subjacentes do Cloud Storage e do BigQuery. - Para pacotes personalizados, verifique se o agente de serviço do Cloud Dataplex
tem permissões
read
no bucket do Cloud Storage configurado no ambiente.
Não foi possível excluir o lake que contém scripts ou notebooks
Quando você exclui um lake usado para o Dataplex Explore e se ele contém scripts ou notebooks, ocorre o seguinte erro:
Failed to delete `projects/locations/region/lakes/lakename` since it has child
resources.
O Dataplex Explore requer pelo menos um ambiente no navegador de recursos.
Para resolver esse problema, use uma das seguintes soluções alternativas:
- Use os comandos da CLI gcloud para excluir scripts e notebooks do lake e, em seguida, excluir o lake.
- Crie um ambiente temporário que ative o navegador de recursos. Exclua todos os scripts e notebooks, seguidos do ambiente temporário e do lake.
Job cancelado
Quando você executa uma consulta Spark, o job é cancelado em caso de erro crítico.
Para resolver esse problema, consulte a mensagem de erro para identificar e corrigir a causa raiz.
TTransportException ao consultar tabelas do Iceberg
Quando você consulta uma tabela Iceberg ampla, ocorre o TTransportException
.
O Iceberg tem um problema conhecido no Spark 3.1 que está disponível nas imagens do Dataproc 2.0 usadas pelo Dataplex Explore.
Para resolver esse problema, adicione uma projeção extra na consulta SELECT
.
Exemplo:
SELECT a,b,c, 1 AS dummy FROM ICEBERG_TABLE
Neste exemplo, 1 AS dummy
é a projeção extra. Para saber mais,
consulte a página de detalhes do problema.
Os lakes não aparecem no navegador de recursos do Explore
A Análise está disponível para lakes somente nas regiões us-central1
, europe-west2
, europe-west1
, us-east1
, us-west1
, asia-southeast1
e asia-northeast1
. Os lakes que pertencem a qualquer outra região não aparecem no navegador
de recursos "Explore".
Não foi possível começar a usar a Análise do Dataplex
No console do Google Cloud, na página Dataplex, ao clicar em Explorar, a seguinte mensagem é exibida:
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.
A Análise só vai funcionar se um lake tiver um metastore do Dataproc (DPMS) configurado e pelo menos uma configuração de ambiente.
Para resolver esse problema, vincule seu lake ao metastore do Dataproc.
Restrições de cota
Ao criar um ambiente, talvez você veja erros relacionados à cota.
Para resolver esse problema, consulte as cotas a seguir antes de criar um ambiente:
- É possível criar 10 ambientes por lake.
- É possível criar ambientes com no máximo 150 nós.
- A duração das sessões de usuários individuais é restrita a 10 horas.
O tempo de inicialização da sessão é longo
Cada usuário leva de 2,5 a 3,5 minutos para iniciar uma nova sessão. Quando uma sessão está ativa, ela é usada para executar consultas e notebooks subsequentes para o mesmo usuário.
Para reduzir o tempo de inicialização da sessão, crie um ambiente padrão com a inicialização rápida ativada.
Não é possível programar notebooks que contêm pacotes Python personalizados
No console do Google Cloud, quando você programa um notebook que contém pacotes Python personalizados, ocorre o seguinte erro:
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.
Não é possível programar um notebook no console do Google Cloud se o ambiente tiver pacotes Python personalizados.
Para resolver esse problema, use a CLI gcloud para programar notebooks que contêm pacotes personalizados.