Todos os produtos
Search
Central de documentação

Object Storage Service:Use Realtime Compute for Apache Flink to read from or write to OSS or OSS-HDFS

Última atualização: Sep 24, 2026

O Realtime Compute for Apache Flink permite ler e gravar dados no Object Storage Service (OSS) e no Hadoop Distributed File System (HDFS) implantado no OSS (OSS-HDFS). Após configurar as propriedades do connector OSS ou OSS-HDFS, o Realtime Compute for Apache Flink lê automaticamente os dados do caminho especificado para uso como stream de entrada e grava os resultados do processamento no formato especificado no caminho de destino do OSS ou OSS-HDFS.

Pré-requisitos

  • O Flink totalmente gerenciado deve estar ativado. Para mais informações, consulte Activate Realtime Compute for Apache Flink.

    Após ativar o Flink totalmente gerenciado, o workspace criado aparece na aba Fully Managed Flink em 5 a 10 minutos.

  • O job SQL deve ter sido criado.

    Ao criar o job SQL, selecione um mecanismo de computação Flink do Ververica Runtime (VVR) 8.0.1 ou posterior. Para mais informações, consulte Create a job.

Limites

  • Só é possível ler ou gravar dados em serviços OSS ou OSS-HDFS que estejam na mesma conta Alibaba Cloud.

  • Ao gravar dados no OSS, não é possível utilizar formatos de armazenamento em linha, como Avro, CSV, JSON e Raw. Para mais informações, consulte FLINK-30635.

Procedimento

  1. Acesse a página de criação de rascunho SQL.

    1. Faça login no Realtime Compute console.

    2. Localize o workspace Flink desejado e clique em Console na coluna Actions.

    3. No painel de navegação, clique em Development > ETL.

  2. No editor SQL, escreva o código DDL (Data Definition Language) e DML (Data Manipulation Language).

    Este exemplo grava dados de uma tabela de origem no caminho dir do bucket srcbucket em uma tabela de destino no caminho test do bucket destbucket.

    Nota

    Para utilizar o código a seguir e ler dados do OSS-HDFS, certifique-se de que o serviço OSS-HDFS esteja habilitado para os buckets srcbucket e destbucket.

    CREATE TEMPORARY TABLE source_table (
     `file.name` STRING NOT NULL,
     `file.path` STRING NOT NULL METADATA
    ) WITH (
      'connector'='filesystem',
      'path'='oss://srcbucket/dir/',
      'format'='parquet'
    );
    
    CREATE TEMPORARY TABLE target_table(
     `name` STRING,
     `path` STRING 
    ) with (
      'connector'='filesystem',
      'path'='oss://destbucket/test/',
      'format'='parquet'
    );
    
    INSERT INTO target_table SELECT * FROM source_table ;

    Para mais informações sobre as colunas de metadados compatíveis com a tabela de origem, como file.path e file.name, e o uso dos parâmetros WITH, consulte Object Storage Service (OSS) connector.

  3. Clique em Save.

  4. Clique em Advanced Check.

    O recurso de verificação avançada examina a semântica SQL do job, a conectividade de rede e os metadados das tabelas utilizadas. Na área de resultados, também é possível clicar em SQL Optimization para visualizar possíveis problemas no SQL e as sugestões de otimização correspondentes.

  5. Clique em Deploy.

    Após desenvolver o job e concluir a verificação avançada, implante-o no ambiente de produção.

  6. (Opcional) Esta etapa é necessária apenas ao ler dados de um serviço OSS-HDFS.

    Clique no job. Na aba Deployment Details, na seção Running Parameter Configuration, configure o par de AccessKey, o Endpoint e outras informações do serviço OSS-HDFS conforme descrito abaixo. Em seguida, clique em Save.

    fs.oss.jindo.buckets: srcbucket;destbucket
    fs.oss.jindo.accessKeyId: LTAI**************** 
    fs.oss.jindo.accessKeySecret: yourAccessKeySecret
    fs.oss.jindo.endpoint: cn-hangzhou.oss-dls.aliyuncs.com

    A tabela a seguir descreve os itens de configuração.

    Item de Configuração

    Descrição

    fs.oss.jindo.buckets

    O nome do bucket onde os dados da tabela de origem estão localizados e o nome do bucket onde os dados da tabela de destino serão gravados. Separe os nomes dos buckets com ponto e vírgula (;). Exemplo: srcbucket;destbucket.

    fs.oss.jindo.accessKeyId

    O AccessKey ID da sua conta Alibaba Cloud ou de um usuário do Resource Access Management (RAM). Para saber como obter um AccessKey ID, consulte View the AccessKey information of a RAM user.

    fs.oss.jindo.accessKeySecret

    Utilize um AccessKey existente ou crie um novo. Para mais informações, consulte Create an AccessKey pair. Observação: para reduzir o risco de vazamento do AccessKey secret, ele é exibido apenas no momento da criação e não pode ser visualizado posteriormente. Armazene-o em local seguro.

    fs.oss.jindo.endpoint

    O endpoint do serviço OSS-HDFS. Exemplo: cn-hangzhou.oss-dls.aliyuncs.com.

  7. Na página Job O&M, clique em Start e aguarde o job entrar no estado Running.

  8. Visualize os dados gravados no caminho de armazenamento especificado da tabela de destino OSS ou OSS-HDFS.

    Se os dados foram gravados no OSS, visualize-os na aba OSS da lista de arquivos no console do OSS. Se foram gravados no OSS-HDFS, visualize-os na aba HDFS da lista de arquivos no console do OSS.