Erros comuns da ferramenta Explorar

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:

  1. Consulte uma lista dos bancos de dados disponíveis:

    show databases
    
  2. 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:

  1. Consulte a lista de tabelas disponíveis:

    show tables in DATABASE_NAME
    
  2. Verifique se você está consultando o nome correto da tabela.

  3. Se o nome da tabela tiver letras maiúsculas, defina spark.sql.caseSensitive como true 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.