Todos os produtos
Search
Central de documentação

Hologres:Access OSS-HDFS data via DLF

Última atualização: Jun 28, 2026

A partir da versão V1.3.26, o Hologres lê dados do OSS-HDFS e grava resultados de volta nesse serviço. Quando seus pipelines de extração, transformação e carga (ETL) geram dados no OSS-HDFS, o Hologres permite consultar esses dados no local e gravar os resultados de volta, sem mover informações para fora do data lake. O Hologres utiliza o Data Lake Formation (DLF) para gerenciamento de metadados e o JindoSDK para acesso direto aos dados e gravação de retorno.

Importante

A gravação de retorno é suportada apenas para os formatos ORC, Parquet, CSV e SequenceFile.

Como funciona

A integração utiliza o foreign data wrapper dlf_fdw. O Hologres consulta o DLF para obter metadados das tabelas e usa o JindoSDK para acessar o armazenamento subjacente do OSS-HDFS.

O OSS-HDFS (também conhecido como JindoFS) é um serviço de armazenamento de data lake nativo da nuvem. Em comparação com o OSS nativo, o OSS-HDFS se integra diretamente ao Hive, Spark e outros mecanismos de computação do ecossistema Hadoop.

Modos de acesso

Antes de configurar um servidor externo, determine qual tipo de endpoint se aplica ao seu cenário. Para acessar vários ambientes OSS-HDFS simultaneamente, crie um servidor externo separado para cada ambiente.

Cenário

Tipo de endpoint

Observações

OSS-HDFS (mesma região)

Endpoint privado

O OSS-HDFS suporta apenas acesso por rede privada. Não há suporte para acesso entre regiões.

OSS-HDFS + DLF (entre regiões)

Endpoint público para DLF

Endpoints públicos geram taxas de rede. Consulte Visão geral do faturamento.

OSS nativo (mesma região)

Endpoint privado

Oferece melhor desempenho. Crie um servidor externo separado com o endpoint privado do OSS.

OSS nativo (entre regiões)

Endpoint público

Configure um servidor externo distinto utilizando o endpoint público do OSS.

Pré-requisitos

Antes de começar, verifique se você:

Etapa 1: Localizar o endpoint do bucket do OSS-HDFS

Abra o console do OSS, acesse a página Overview do seu bucket e copie o nome de domínio do serviço OSS-HDFS. Você usará esse valor como oss_endpoint na próxima etapa.

image

Etapa 2: Criar um servidor externo

Ative a extensão dlf_fdw e crie um servidor externo que conecte o Hologres ao DLF e ao OSS-HDFS.

CREATE EXTENSION IF NOT EXISTS dlf_fdw;

CREATE SERVER IF NOT EXISTS <servername> FOREIGN DATA WRAPPER dlf_fdw OPTIONS (
    dlf_region 'cn-<region>',
    dlf_endpoint 'dlf-share.cn-<region>.aliyuncs.com',
    oss_endpoint '<bucket_name>.cn-<region>.oss-dls.aliyuncs.com' -- OSS-HDFS bucket domain name from Step 1
);

Parâmetro

Descrição

Exemplo

servername

Nome atribuído a este servidor externo

dlf_server

dlf_region

Região onde o DLF está implantado. Consulte Regiões e endpoints

cn-beijing

dlf_endpoint

Endpoint do serviço DLF. Utilize o endpoint privado para obter melhor desempenho. Para acesso entre regiões, use um endpoint público (sujeito a taxas de rede)

dlf-share.cn-beijing.aliyuncs.com

oss_endpoint

Endpoint do OSS-HDFS obtido na Etapa 1. Para OSS nativo, utilize o endpoint privado ou público do OSS

bucket_nametest.cn-hangzhou.oss-dls.aliyuncs.com

Etapa 3: Criar tabelas externas

Mapeie as tabelas de metadados do DLF para tabelas externas do Hologres usando um dos métodos abaixo.

Criar uma única tabela

Utilize CREATE FOREIGN TABLE para mapear uma tabela específica ou IMPORT FOREIGN SCHEMA LIMIT TO para uma importação direcionada.

-- Option A: Create the foreign table directly
CREATE FOREIGN TABLE dlf_oss_test
(
  id text,
  pt text
)
SERVER dlf_server
OPTIONS
(
  schema_name 'dlfpro',
  table_name 'dlf_oss_test'
);

-- Option B: Import a single table from a DLF metadatabase
IMPORT FOREIGN SCHEMA dlfpro LIMIT TO
(
  dlf_oss_test
)
FROM SERVER dlf_server INTO public OPTIONS (if_table_exist 'update');

Importar tabelas em massa

Mapeie todas as tabelas de um metadatabase do DLF, ou um subconjunto selecionado, para um schema do Hologres em uma única operação.

-- Import an entire DLF metadatabase
IMPORT FOREIGN SCHEMA dlfpro
FROM SERVER dlf_server INTO public OPTIONS (if_table_exist 'update');

-- Import selected tables
IMPORT FOREIGN SCHEMA dlfpro
(
  table1,
  table2,
  tablen
)
FROM SERVER dlf_server INTO public OPTIONS (if_table_exist 'update');

Após a importação, as tabelas externas aparecem no schema correspondente no Hologres e na pasta de schema de tabela no HoloWeb.

Etapa 4: Consultar dados

Consulte tabelas externas da mesma forma que você consulta tabelas nativas do Hologres.

-- Query a non-partitioned table
SELECT * FROM dlf_oss_test;

-- Query a partitioned table
SELECT * FROM <partition_table> WHERE dt = '2013';

Para gravar dados de volta, execute INSERT INTO em uma tabela externa nos formatos ORC, Parquet, CSV ou SequenceFile.

Próximos passos