Todos os produtos
Search
Central de documentação

E-MapReduce:Gerencie catálogos de dados

Última atualização: Sep 02, 2026

Um catálogo de dados registra um serviço de metadados externo, como DLF, Hive Metastore (HMS), StarRocks ou Hologres, em um workspace do EMR Serverless Spark. Após o registro, você pode visualizar bancos de dados, tabelas e colunas no console e acessar os dados pelo nome do catálogo em SQL, sessões interativas e jobs do Spark. Os catálogos de dados são úteis para cenários que exigem isolamento de metadados ou análise entre diferentes fontes de dados.

Visão geral dos catálogos

O EMR Serverless Spark oferece um sistema flexível de gerenciamento de catálogos com suporte a diversos tipos, como Paimon, Iceberg e StarRocks. Além do tipo padrão de catálogo de dados, o sistema também oferece um catálogo interno e catálogos personalizados. Esta seção descreve os tipos de catálogo no EMR Serverless Spark, além de como configurá-los e utilizá-los.

Tipo de catálogo

Fontes de dados compatíveis

Como adicionar

Descrição

Uso

Catálogo de dados

Adicione manualmente um catálogo na página Catalog.

Após adicionar um catálogo, reinicie todas as sessões em execução para aplicar as alterações.

  • Na página Development, selecione o catálogo desejado no editor SQL.

  • Execute diretamente USE <catalogName>; no editor SQL.

  • Execute diretamente SELECT * FROM <catalogName>.db.tbl; no editor SQL.

Catálogo personalizado

Paimon, Iceberg, entre outros

Edite uma sessão e adicione os parâmetros necessários na aba Spark Configuration.

Este tipo exige configuração manual de parâmetros e pode ser estendido para oferecer suporte a várias fontes de dados. Para mais informações, consulte Use Iceberg e Paimon User Guide.

-- Switch to the custom catalog
USE <catalogName>;

-- Or reference the table directly
SELECT * FROM <catalogName>.db.tbl;

Adicionar catálogo de dados

  1. Acesse a página Catálogos de Dados.

    1. Faça login no console do EMR.

    2. No painel de navegação à esquerda, escolha EMR Serverless > Spark.

    3. Na página Spark, clique em no nome do workspace desejado.

    4. Na página EMR Serverless Spark, clique em Catalog no painel de navegação à esquerda.

      Nota

      A página Catálogos de Dados exibe os bancos de dados e tabelas do catálogo de dados do Data Lake Formation selecionado durante a criação do workspace.

  2. Clique em Add Catalog.

  3. Na caixa de diálogo Add Catalog, selecione um tipo de catálogo, configure os parâmetros necessários e clique em Add. Há suporte aos seguintes tipos de catálogo.

Catálogo de dados DLF

O DLF Catalog é um serviço para gerenciar e consultar metadados em um data lake. Ao selecionar um catálogo de dados DLF existente ou criar um novo, você acessa rapidamente os metadados do seu data lake.

Para criar um novo catálogo de dados DLF, clique em Create Catalog para acessar o console do Data Lake Formation. Para mais informações, consulte Manage metadata.

Nota

Ao utilizar um catálogo de dados DLF, apenas as seguintes versões de engine são compatíveis: esr-4.3.0 ou posterior, esr-3.3.0 ou posterior e esr-2.7.0 ou posterior.

Catálogo de dados Hive Metastore (HMS)

O External Hive Metastore é um serviço de metadados independente, geralmente utilizado para gerenciar metadados de tabelas Hive. Configure este serviço para integrar metadados de um Hive Metastore externo ao seu ambiente atual.

Certifique-se de que exista uma conexão de rede entre o EMR Serverless Spark e a VPC onde o Hive Metastore externo está localizado.

Parâmetro

Descrição

Network Connection

Conexão de rede com a VPC onde o Hive Metastore externo está localizado.

Selecione uma conexão de rede existente na lista suspensa. Para mais informações, consulte Step 1: Add a network connection.

Nota
  • Todos os catálogos de dados adicionados devem compartilhar a mesma conexão de rede. A conexão selecionada para o primeiro catálogo é usada automaticamente para todos os subsequentes.

  • Esta conexão de rede torna-se o padrão para todos os recursos de computação iniciados no workspace e serve para testar a conectividade com o catálogo de dados.

  • Para usar uma conexão de rede diferente para um catálogo de dados específico, especifique-a ao enviar um job ou criar uma sessão. Uma conexão especificada manualmente tem precedência.

Metastore service address

Endereço do serviço do Hive Metastore externo, no formato thrift://<metastore-host>:<port>.

Onde:

  • <metastore-host>: Nome do host ou endereço IP do serviço Hive Metastore.

  • <port>: Número da porta do serviço Hive Metastore. O padrão é 9083.

Autenticação Kerberos

Se a autenticação Kerberos estiver ativada para o seu Hive Metastore externo, especifique o caminho do arquivo keytab e o nome do principal.

  • Kerberos keytab file: Caminho para o arquivo keytab do Kerberos.

  • Kerberos principal: Nome do principal no arquivo keytab, usado para autenticação com o serviço Kerberos.

    Nota

    Use o comando klist -kt <keytab_file> para visualizar o nome do principal no arquivo keytab desejado.

Para adicionar um Hive Metastore externo, consulte Connect to an external Hive Metastore.

Catálogo de dados StarRocks

O StarRocks é um banco de dados analítico de alto desempenho. Adicionar um catálogo de dados StarRocks registra os metadados de uma instância do StarRocks no EMR Serverless Spark. Após adicionar o catálogo, você pode ler e gravar dados do StarRocks diretamente de seus jobs e sessões, sem precisar configurar parâmetros de conexão para cada tarefa. Certifique-se de que exista uma conexão de rede entre o EMR Serverless Spark e a VPC onde a instância do StarRocks está localizada.

Depois de adicionar o catálogo, utilize um identificador de três partes em SQL para ler e gravar dados no StarRocks. Por exemplo: SELECT * FROM <catalogName>.<dbName>.<tableName>;

Nota

Os catálogos de dados StarRocks são compatíveis apenas nas seguintes versões de engine: esr-4.8.0 ou posterior e esr-5.2.0 ou posterior.

Parâmetro

Descrição

Catalog Name

Nome do catálogo de dados StarRocks. Este nome, que deve ser único dentro do workspace, serve para referenciar o catálogo em SQL.

Normal Network Connection

Conexão de rede com a VPC onde a instância do StarRocks está localizada. Selecione uma conexão de rede existente na lista suspensa. Para mais informações, consulte Step 1: Add a network connection.

Nota
  • Todos os catálogos de dados adicionados devem compartilhar a mesma conexão de rede. A conexão selecionada para o primeiro catálogo é usada automaticamente para todos os subsequentes.

  • Esta conexão de rede torna-se o padrão para todos os recursos de computação iniciados no workspace e serve para testar a conectividade com o catálogo de dados.

  • Para usar uma conexão de rede diferente para um catálogo de dados específico, especifique-a ao enviar um job ou criar uma sessão. Uma conexão especificada manualmente tem precedência.

Endpoint

Endereço de acesso frontend (FE) do StarRocks, como fe--internal.starrocks.aliyuncs.com.

Query Port

Porta de consulta FE do StarRocks. Geralmente, é 9030.

Username

Nome de usuário para acessar o StarRocks. Os jobs do Spark usam este nome de usuário para autenticação ao ler ou gravar dados no StarRocks.

Password

Senha do nome de usuário especificado.

Para saber como ler e gravar dados do StarRocks em suas tarefas, consulte Read from and write to StarRocks.

Catálogo de dados Hologres

O Hologres é um data warehouse em tempo real com suporte a gravações em tempo real de alto throughput e análises em tempo real em dados de grande escala. Adicionar um catálogo de dados Hologres registra os metadados de uma instância do Hologres no EMR Serverless Spark. Após adicionar o catálogo, você pode ler e gravar dados do Hologres diretamente de seus jobs e sessões, sem precisar configurar parâmetros de conexão para cada tarefa. Certifique-se de que exista uma conexão de rede entre o EMR Serverless Spark e a VPC onde a instância do Hologres está localizada.

Depois de adicionar o catálogo, utilize um identificador de três partes em SQL para ler e gravar dados no Hologres. Cada catálogo está estritamente vinculado a um banco de dados Hologres, e não há suporte ao acesso entre bancos de dados. Em outras palavras, não é possível usar um único catálogo para acessar múltiplos bancos de dados Hologres. A estrutura lógica do catálogo é consistente com o Hologres:

Conceito Spark

Conceito Hologres

Descrição

Catálogo

Banco de dados

Por exemplo, hologres_external_test_db mapeia para o banco de dados test_db no Hologres.

Namespace

Schema

Por exemplo, public ou test_schema. O namespace padrão é public. Execute USE para alternar para um namespace diferente.

Tabela

Tabela

Especifique explicitamente a tabela como namespace.table_name (por exemplo, public.test), ou execute USE namespace primeiro e depois referencie o nome da tabela diretamente.

Nota

Os catálogos de dados Hologres são compatíveis apenas nas seguintes versões de engine: esr-4.9.0 ou posterior.

Parâmetro

Descrição

Catalog Name

Nome do catálogo de dados Hologres. Este nome, que deve ser único dentro do workspace, serve para referenciar o catálogo em SQL.

Normal Network Connection

Conexão de rede com a VPC onde a instância do Hologres está localizada. Selecione uma conexão de rede existente na lista suspensa. Para mais informações, consulte Step 1: Add a network connection.

Nota
  • Todos os catálogos de dados adicionados devem compartilhar a mesma conexão de rede. A conexão selecionada para o primeiro catálogo é usada automaticamente para todos os subsequentes.

  • Esta conexão de rede torna-se o padrão para todos os recursos de computação iniciados no workspace e serve para testar a conectividade com o catálogo de dados.

  • Para usar uma conexão de rede diferente para um catálogo de dados específico, especifique-a ao enviar um job ou criar uma sessão. Uma conexão especificada manualmente tem precedência.

Endpoint

Endereço de acesso da instância do Hologres. Você pode encontrá-lo na página de detalhes da instância no console do Hologres.

Query Port

Porta da instância do Hologres. Geralmente, é 80.

Username

Nome de usuário para acessar o Hologres. Os jobs do Spark usam este nome de usuário para autenticação ao ler ou gravar dados no Hologres.

  • Para uma conta personalizada, use o nome de usuário no formato BASIC$<user_name>.

  • Para uma conta Alibaba Cloud ou usuário RAM, use o AccessKey ID.

Password

Senha do nome de usuário especificado.

  • Para uma conta personalizada, use a senha da conta.

  • Para uma conta Alibaba Cloud ou usuário RAM, use o AccessKey Secret.

Para saber como ler e gravar dados do Hologres em suas tarefas, consulte Read from and write to Hologres.

Visualize bancos de dados e tabelas

  1. Na página Catalog, clique em no ID de um catálogo de dados.

    Todos os bancos de dados do catálogo de dados serão exibidos.

  2. Na coluna Actions, clique em Table.

    Todas as tabelas do banco de dados selecionado serão exibidas.

  3. Na coluna Actions, clique em Field.

    O schema e os detalhes das colunas da tabela selecionada serão exibidos.

Usar um catálogo de dados em SQL

Após adicionar um catálogo de dados, acesse seus bancos de dados e tabelas pelo nome do catálogo no desenvolvimento SQL e em sessões interativas, sem precisar especificar informações de conexão em cada tarefa.

Alternar o catálogo e banco de dados padrão

Após a alternância, as instruções subsequentes podem referenciar tabelas pelo nome em vez de usar um identificador completo de três partes.

-- Switch the default catalog
USE <catalogName>;

-- Switch the default catalog and database
USE <catalogName>.<dbName>;

Consultar usando um identificador de três partes

Se você não alternar o catálogo padrão, referencie a tabela diretamente como catalogName.dbName.tableName.

SELECT * FROM <catalogName>.<dbName>.<tableName>;

Para um catálogo de dados Hologres, a segunda parte do identificador é um schema, não um banco de dados. Cada catálogo de dados Hologres está vinculado a um banco de dados, e o schema padrão é public.

-- Hologres: the second part is a schema. The default schema is public.
SELECT * FROM <hologresCatalog>.public.<tableName>;

-- You can also switch the catalog and schema first, and then reference the table by name.
USE <hologresCatalog>;
USE public;
SELECT * FROM <tableName>;

Unir dados entre catálogos

Uma única instrução pode referenciar tabelas de diferentes catálogos de dados usando identificadores de três partes. O exemplo a seguir une uma tabela de dimensão de usuários no DLF com uma tabela de pedidos no Hologres.

SELECT
  d.user_id,
  d.user_name,
  o.order_id,
  o.amount
FROM dlf_catalog.user_db.dim_user AS d
JOIN hologres_catalog.public.orders AS o
  ON d.user_id = o.user_id;

Antes de executar a instrução, certifique-se de que todos os catálogos de dados referenciados foram adicionados, que as redes estão acessíveis e que sua identidade possui permissões nos bancos de dados e tabelas correspondentes.

Usar um catálogo de dados em PySpark

No PySpark, use identificadores de três partes para ler e gravar tabelas em um catálogo de dados.

# Read a table
df = spark.table("<catalogName>.<dbName>.<tableName>")

# Write to a table
(
    df.write
      .mode("append")
      .saveAsTable("<catalogName>.<dbName>.<tableName>")
)

Também é possível ler tabelas de diferentes catálogos de dados e uni-las.

dim_user = spark.table("dlf_catalog.user_db.dim_user")
orders = spark.table("hologres_catalog.public.orders")

result = orders.join(dim_user, on="user_id", how="inner")
result.show()

Antes de gravar dados, certifique-se de que a source de dados de destino oferece suporte ao modo de gravação e que sua conta possui permissões de escrita.

Exclua um catálogo de dados

  1. Na página Catalog, localize o catálogo de dados que deseja excluir.

  2. Clique em Delete na coluna Actions e confirme a operação conforme solicitado.

Nota

A exclusão de um catálogo de dados remove apenas seu registro do workspace atual. Os bancos de dados, tabelas e dados no DLF, HMS, StarRocks ou Hologres não são excluídos.

Após a exclusão, sessões em execução ainda podem usar a configuração anterior. Reinicie as sessões e verifique se o catálogo não está mais acessível.

FAQ

Um catálogo é relatado como não encontrado em SQL após ser adicionado

Sessões interativas em execução não recarregam automaticamente as configurações do catálogo de dados. Reinicie a sessão e verifique se o nome do catálogo no seu SQL corresponde ao nome exibido na página do catálogo de dados. Sessões e jobs iniciados posteriormente carregam a configuração mais recente na inicialização.

Falha ao adicionar um catálogo de dados ou no teste de conectividade

Verifique os seguintes itens nesta ordem:

  1. A conexão de rede está disponível.

  2. O workspace e o serviço de destino residem na mesma região e na VPC esperada.

  3. Rotas, grupos de segurança e a lista de permissões do serviço de destino permitem o acesso.

  4. O endpoint e a porta estão corretos.

  5. O nome de usuário, a senha e o método de autenticação estão corretos.

  6. A versão atual da engine atende aos requisitos do tipo de catálogo.

A lista DLF não contém o catálogo de dados esperado

Os catálogos de dados DLF são específicos por região. Certifique-se de que o catálogo de dados reside na mesma região do workspace e verifique se sua conta possui permissões de leitura no catálogo de dados.

A conexão HMS expira

Verifique a conexão de rede, as regras do grupo de segurança, o status do serviço HMS e a porta Thrift. A porta padrão é 9083, mas a porta real depende da sua implantação. Se o endereço não puder ser resolvido, verifique a configuração de DNS da VPC onde o workspace reside ou use um endereço interno acessível.

Uma consulta Hologres relata que a tabela não existe

Um catálogo de dados Hologres está vinculado a um único banco de dados, e uma consulta também deve especificar o schema correto. Use catalogName.schemaName.tableName ou execute USE <schemaName> primeiro. O schema padrão geralmente é public.

Posso adicionar vários catálogos de dados a um workspace?

Sim. É possível adicionar vários catálogos de dados do mesmo tipo ou de tipos diferentes. Cada catálogo é registrado independentemente, mas os nomes devem ser únicos dentro de um workspace. Para acessar múltiplos bancos de dados Hologres, adicione um catálogo de dados para cada banco de dados.

A exclusão de um catálogo de dados apaga dados de negócios?

Não. A exclusão remove apenas o registro do workspace. Os bancos de dados, tabelas e dados no serviço externo não são afetados.

Por que MaxCompute e Iceberg não estão listados como tipos de catálogo?

O acesso ao MaxCompute ocorre por meio do Spark MaxCompute Connector e ele não é registrado na página de catálogo de dados. O Iceberg é um catálogo personalizado que você ativa na configuração Spark de uma sessão ou job. Para mais informações, consulte Use Iceberg.

Um catálogo de dados DLF usa o formato Paimon por padrão. Não é necessário adicionar um catálogo Paimon separado. Para mais informações sobre o Paimon, consulte Paimon User Guide.