Todos os produtos
Search
Central de documentação

E-MapReduce:Manage data catalogs

Última atualização: Oct 10, 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 os 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 que compatível com diversos tipos, como Paimon, Iceberg e StarRocks. Além do tipo padrão de catálogo de dados, o sistema também oferece suporte a um catálogo integrado e catálogos personalizados. Esta seção descreve os tipos de catálogo no EMR Serverless Spark e 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 que as alterações entrem em vigor.

  • 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 e outros

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

Este tipo exige configuração manual de parâmetros e pode ser estendido para diversas fontes de dados. Para mais informações, consulte Usar o Iceberg e o Guia do usuário do Paimon.

-- 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 de Catálogos de Dados.

    1. Faça logon no console do EMR.

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

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

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

      Nota

      A página de 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. Os seguintes tipos de catálogo são compatíveis.

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 Gerenciar metadados.

Nota

Ao usar um catálogo de dados DLF, apenas as seguintes versões de mecanismo 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 usado para gerenciar metadados de tabelas Hive. Configure esse 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

A 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 Etapa 1: Adicionar uma conexão de rede.

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 catálogos subsequentes.

  • Essa conexão de rede se torna o padrão para todos os recursos de computação iniciados no workspace e é usada 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

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

Onde:

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

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

Autenticação Kerberos

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

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

  • Kerberos principal: o nome do principal no arquivo keytab, usado para autenticar 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 Conectar a um Hive Metastore externo.

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 nos 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.

Após adicionar o catálogo, use um identificador de três partes no SQL para ler e gravar dados no StarRocks. Por exemplo: SELECT * FROM &lt;catalogName&gt;.&lt;dbName&gt;.&lt;tableName&gt;;

Nota

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

Parâmetro

Descrição

Catalog Name

O nome do catálogo de dados StarRocks. Esse nome, que deve ser exclusivo no workspace, é usado para referenciar o catálogo no SQL.

Normal Network Connection

A 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 Etapa 1: Adicionar uma conexão de rede.

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 catálogos subsequentes.

  • Essa conexão de rede se torna o padrão para todos os recursos de computação iniciados no workspace e é usada 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

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

Query Port

A porta de consulta do FE do StarRocks. Geralmente, é 9030.

Username

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

Password

A senha do nome de usuário especificado.

Para saber como ler e gravar dados do StarRocks nas suas tarefas, consulte Ler e gravar no StarRocks.

Catálogo de dados Hologres

O Hologres é um data warehouse em tempo real que oferece suporte a gravações em tempo real de alta taxa de transferência 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 nos 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.

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

Conceito no Spark

Conceito no 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 a tabela explicitamente como namespace.table_name (por exemplo, public.test) ou execute USE namespace primeiro e depois referencie diretamente o nome da tabela.

Nota

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

Parâmetro

Descrição

Catalog Name

O nome do catálogo de dados Hologres. Esse nome, que deve ser exclusivo no workspace, é usado para referenciar o catálogo no SQL.

Normal Network Connection

A 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 Etapa 1: Adicionar uma conexão de rede.

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 catálogos subsequentes.

  • Essa conexão de rede se torna o padrão para todos os recursos de computação iniciados no workspace e é usada 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

O 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

A porta da instância do Hologres. Geralmente, é 80.

Username

O nome de usuário para acessar o Hologres. Os jobs do Spark usam esse 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 um usuário RAM, use o AccessKey ID.

Password

A senha do nome de usuário especificado.

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

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

Para saber como ler e gravar dados do Hologres nas suas tarefas, consulte Ler e gravar no Hologres.

Catálogo de dados Fluss

O Fluss é um sistema de armazenamento de fluxo colunar de alto desempenho que oferece suporte a leitura e gravação de fluxo em subsegundos para análises em tempo real e IA. Após adicionar um catálogo de dados Fluss, seus jobs do EMR Serverless Spark podem acessar os dados no cluster Fluss sem autenticação, sem a necessidade de configurar informações de conexão para cada job e sessão.

Nota
  • Apenas clusters Fluss que oferecem suporte à autenticação sem senha podem ser adicionados.

  • Os catálogos de dados Fluss são compatíveis apenas com a versão esr-4.10.0 ou posterior. Para usar catálogos de dados Fluss em outras versões, abra um ticket.

Parâmetro

Descrição

Cluster Fluss

O cluster Fluss a ser associado.

Catalog Name

O nome do catálogo de dados Fluss, usado para referenciar o catálogo nos jobs. O nome deve ser exclusivo no workspace.

Normal Network Connection

A conexão de rede entre o ambiente atual e a VPC onde o cluster Fluss está localizado. Selecione uma conexão de rede existente na lista suspensa. Para mais informações, consulte Etapa 1: Criar uma conexão de rede.

Nota
  • Todos os catálogos de dados em um workspace devem usar a mesma conexão de rede. A conexão usada pelo primeiro catálogo de dados adicionado se aplica a todos os catálogos subsequentes.

  • Essa conexão de rede é usada como a rede padrão para todos os recursos de computação iniciados no workspace e é usada para testes de conectividade do catálogo de dados.

  • Para acessar um catálogo de dados usando uma conexão de rede diferente, especifique a conexão ao enviar um job ou criar uma sessão. As conexões de rede especificadas manualmente têm precedência sobre a conexão de rede padrão.

Visualizar bancos de dados e tabelas

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

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

  2. Na coluna Ações, clique em Table.

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

  3. Na coluna Ações, clique em Field.

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

Usar um catálogo de dados no 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 nas sessões interativas, sem precisar especificar informações de conexão em cada tarefa.

Alternar o catálogo e o 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>;

Fazer join de 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 faz join de 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, as redes estão acessíveis e sua identidade tem permissões nos bancos de dados e tabelas correspondentes.

Usar um catálogo de dados no 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>")
)

Você também pode ler tabelas de diferentes catálogos de dados e depois fazer join entre elas.

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 fonte de dados de destino oferece suporte ao modo de gravação e que sua conta tem permissões de gravação.

Excluir 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 Ações e confirme a operação conforme solicitado.

Nota

Excluir um catálogo de dados remove apenas o 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, as 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 é reportado como não encontrado no SQL após ser adicionado

As 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.

A adição de um catálogo de dados ou o teste de conectividade falha

Verifique os seguintes itens em 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 do mecanismo atende aos requisitos do tipo de catálogo.

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

Os catálogos de dados do 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 tem 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 no Hologres reporta 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 &lt;schemaName&gt; primeiro. O schema padrão geralmente é public.

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

Sim. Você pode adicionar vários catálogos de dados do mesmo tipo ou de tipos diferentes. Cada catálogo é registrado de forma independente, mas os nomes devem ser exclusivos dentro de um workspace. Para acessar vários bancos de dados do Hologres, adicione um catálogo de dados para cada banco de dados.

Excluir um catálogo de dados exclui os dados corporativos?

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 o MaxCompute e o Iceberg não estão listados como tipos de catálogo?

O MaxCompute é acessado por meio do Spark MaxCompute Connector e não é registrado na página de catálogo de dados. O Iceberg é um catálogo personalizado que você habilita na configuração do Spark de uma sessão ou job. Para mais informações, consulte Usar o 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 o Guia do usuário do Paimon.