Todos os produtos
Search
Central de documentação

ApsaraDB for SelectDB:Processamento de dados do Lakehouse

Última atualização: Jul 08, 2026

ApsaraDB for SelectDB oferece suporte a consultas federadas em fontes de dados externas, incluindo data lakes, bancos de dados e arquivos remotos.

Visão geral

ApsaraDB for SelectDB disponibiliza o recurso multi-source data catalog (também conhecido como Multi-Catalog ou Catalog), que permite a conexão com fontes de dados externas, como data lakes e bancos de dados, para uma análise de dados simples e rápida. Esse recurso adiciona uma camada de Catalog acima da hierarquia original de metadados, formando uma estrutura de metadados de três níveis: Catalog -> Database -> Table. Cada Catalog pode ser mapeado diretamente para uma fonte de dados externa. Para obter mais informações sobre as fontes de dados externas suportadas, consulte Análise de data lake e Análise de banco de dados.

ApsaraDB for SelectDB também fornece funções com valor de tabela (TVFs) que mapeiam dados de arquivos de sistemas de armazenamento remoto, como Amazon S3 e HDFS, para tabelas consultáveis, simplificando a análise baseada em arquivos. Para mais detalhes, veja Análise de arquivos.

Com os Catalogs, o ApsaraDB for SelectDB integra e consulta fontes de dados externas juntamente com dados internos, possibilitando análises flexíveis em data warehouses e sistemas de armazenamento.

Nota

Caso uma fonte de dados externa esteja implantada na internet pública, a Virtual Private Cloud (VPC) da sua instância ApsaraDB for SelectDB precisa ter acesso de saída à internet. Para instruções de configuração, consulte Como resolvo problemas de conectividade de rede entre uma instância do ApsaraDB for SelectDB e uma fonte de dados?.

Conceitos e operações básicas

  • Internal Catalog

    Todos os bancos de dados e tabelas existentes no ApsaraDB for SelectDB pertencem ao Internal Catalog, que é o padrão integrado e não pode ser modificado ou excluído.

  • External Catalog

    Crie um External Catalog utilizando o comando CREATE CATALOG. Em seguida, visualize todos os Catalogs com SHOW CATALOGS ou veja a instrução de criação de um Catalog específico com SHOW CREATE CATALOG <catalog_name>;.

  • Alternar entre Catalogs

    Ao fazer login no ApsaraDB for SelectDB, o Internal Catalog fica ativo por padrão. Utilize o comando SWITCH para alternar entre os Catalogs:

    SWITCH internal;
    SWITCH hive_catalog;

    Após a alternância, use SHOW DATABASES e USE <db_name> para navegar e trocar de banco de dados no Catalog de destino. A visualização e o acesso aos dados em um External Catalog ocorrem da mesma forma que no Internal Catalog. Atualmente, o ApsaraDB for SelectDB suporta apenas acesso de leitura aos External Catalogs.

  • Excluir um Catalog

    Os dados em um External Catalog são somente leitura, mas é possível remover o próprio Catalog com o comando DROP CATALOG <catalog_name>;. O Internal Catalog não pode ser excluído.

    Nota

    Essa operação remove apenas as informações de mapeamento do Catalog do ApsaraDB for SelectDB, sem alterar a fonte de dados externa em si.

Mapeamento de tipos de colunas

Ao criar um Catalog, o ApsaraDB for SelectDB sincroniza automaticamente os bancos de dados e tabelas da fonte de dados externa e mapeia os tipos de colunas conforme a fonte de dados e o formato da tabela.

Tipos de dados externos que não podem ser mapeados, como UNION e INTERVAL, recebem o tipo UNSUPPORTED. O exemplo a seguir demonstra o comportamento ao consultar uma coluna UNSUPPORTED:

-- Schema of the synchronized table:
k1 INT,
k2 INT,
k3 UNSUPPORTED,
k4 INT

-- Query results:
SELECT * FROM testtable;                // Error: Unsupported type 'UNSUPPORTED_TYPE' in '`k3`
SELECT * except(k3) FROM testtable;     // Query OK.
SELECT k1, k3 FROM testtable;           // Error: Unsupported type 'UNSUPPORTED_TYPE' in '`k3`
SELECT k1, k4 FROM testtable;           // Query OK.

Execute SHOW DATA TYPES; para visualizar os tipos de dados suportados pelo ApsaraDB for SelectDB. Para tipos de dados suportados por fontes externas específicas, consulte Análise de data lake e Análise de banco de dados.

Gerenciamento de permissões

O ApsaraDB for SelectDB utiliza seu gerenciamento de permissões integrado, estendido ao nível de Catalog, para controlar o acesso a bancos de dados e tabelas nos External Catalogs. Para mais informações, veja Gerenciamento de permissões de usuário.

Especifique bancos de dados

Utilize as propriedades include_database_list e exclude_database_list na configuração do Catalog para controlar quais bancos de dados serão sincronizados.

  • include_database_list: lista separada por vírgulas dos bancos de dados a serem sincronizados. Os nomes dos bancos de dados diferenciam maiúsculas de minúsculas. Por padrão, todos os bancos de dados são sincronizados.

  • exclude_database_list: lista separada por vírgulas dos bancos de dados a serem excluídos da sincronização. Os nomes dos bancos de dados diferenciam maiúsculas de minúsculas. Vazia por padrão, o que significa que nenhum banco de dados é excluído.

Importante
  • Se um banco de dados estiver configurado tanto em include_database_list quanto em exclude_database_list, a propriedade exclude_database_list terá precedência.

  • Ao conectar-se a uma fonte Java Database Connectivity (JDBC), é obrigatório usar essas duas propriedades em conjunto com o parâmetro only_specified_database. Para mais detalhes, consulte Fonte de dados JDBC.

Atualize metadados

Alterações de metadados em uma source de dados externa, como criação ou exclusão de tabelas, ou adição e remoção de colunas, não são sincronizadas automaticamente com o ApsaraDB for SelectDB. É possível atualizar os metadados das seguintes maneiras.

Atualização manual

Utilize o comando REFRESH para atualizar os metadados manualmente.

Sintaxe

REFRESH CATALOG catalog_name;
REFRESH DATABASE [catalog_name.]database_name;
REFRESH TABLE [catalog_name.][database_name.]table_name;

A atualização de um Catalog também invalida caches relacionados, incluindo os caches de partição, schema e arquivo.

Exemplos

  1. Atualize um Catalog. Exemplo:

    REFRESH CATALOG hive;
  2. Atualize um banco de dados. Exemplos:

    REFRESH DATABASE ctl.database1;
    REFRESH DATABASE database1;
  3. Atualize uma tabela. Exemplos:

    REFRESH TABLE ctl.db.table1;
    REFRESH TABLE db.table1;
    REFRESH TABLE table1;

Atualização agendada

Ative a atualização agendada definindo o parâmetro metadata_refresh_interval_sec durante a criação de um Catalog. O nó mestre Frontend (FE) atualizará periodicamente o Catalog no intervalo especificado. Atualmente, apenas três tipos de fontes de dados suportam atualização agendada:

  • HMS: Hive Metastore.

  • ES: Elasticsearch

  • JDBC: Java Database Connectivity

-- Set the catalog refresh interval to 20 seconds
CREATE CATALOG es PROPERTIES (
    "type"="es",
    "hosts"="http://127.0.0.1:9200",
    "metadata_refresh_interval_sec"="20"
);

Atualização automática

No momento, apenas determinados eventos de uma source de dados Hive disparam uma atualização automática do Catalog. Para mais informações, consulte Fonte de dados Hive.