Todos os produtos
Search
Central de documentação

DataWorks:Fonte de dados StarRocks

Última atualização: Jun 27, 2026

A fonte de dados StarRocks permite ler e gravar no StarRocks. Este tópico descreve como sincronizar dados com o StarRocks usando o DataWorks.

Versões compatíveis

  • Compatível com todas as versões do EMR Serverless StarRocks.

  • Compatível com EMR on ECS: StarRocks version 2.1.

  • Compatível com a StarRocks Community Edition.

    Nota
    • O DataWorks conecta-se ao StarRocks apenas por meio de uma VPC. Portanto, implante a StarRocks Community Edition em um cluster EMR on ECS.

    • A StarRocks Community Edition é uma plataforma aberta. Se encontrar problemas de compatibilidade ao usar esta fonte de dados, envie um ticket para obter suporte.

Limitações

  • Na sincronização em tempo real de banco de dados completo do MySQL para o StarRocks, a tabela de destino no StarRocks deve usar um modelo de chave primária.

  • A sincronização em tempo real de banco de dados completo do MySQL para o StarRocks não oferece suporte a operações de Linguagem de Definição de Dados (DDL), exceto TRUNCATE. Para outras operações DDL, ignore-as ou configure a tarefa para reportar erro.

Tipos de dados compatíveis

Somente campos dos tipos numérico, string e data são compatíveis.

Conectividade de rede

EMR Serverless StarRocks

Para garantir a conectividade de rede, adicione os endereços IP do grupo de recursos do DataWorks à lista de permissões de endereços IP internos da sua instância EMR Serverless StarRocks.

  • Para obter o endereço IP do grupo de recursos do DataWorks, consulte Common configurations: Add a whitelist.

  • Para configurar as listas de permissões da sua instância EMR Serverless StarRocks, siga estas etapas:

    Na página de detalhes da instância, na seção Basic Information, clique em internal IP address whitelist ao lado de security group ID para configurar a lista de permissões de endereços IP internos. Na seção FE Details, clique em public whitelist ao lado do Public Endpoint para configurar a lista de permissões pública.

StarRocks autogerenciado

Garanta que o grupo de recursos do DataWorks possa acessar a query port, a FE port e a BE port da sua instância StarRocks. Geralmente, essas portas correspondem a 9030, 8030 e 8040.

Adicionar uma fonte de dados

Antes de desenvolver uma tarefa de sincronização no DataWorks, adicione a fonte de dados necessária seguindo as instruções em Data source management. Consulte as descrições dos parâmetros no console do DataWorks para compreender o significado de cada parâmetro ao adicionar a fonte de dados.

Selecione um modo de conexão para o StarRocks com base no seu ambiente de rede:

Cenário 1: Conexão VPC

A conexão VPC oferece baixa latência e segurança, sem necessidade de acesso à rede pública.

  • Caso de uso: Sua instância StarRocks e o grupo de recursos serverless estão na mesma VPC.

  • Modos compatíveis: Modo de instância Alibaba Cloud e modo de string de conexão:

    • Selecione ApsaraDB for RDS: Escolha diretamente a instância StarRocks na mesma VPC. O sistema recupera automaticamente as informações de conexão, eliminando a necessidade de configuração manual.

    • Selecione User-created Data Store with Public IP Addresses: Insira manualmente o endpoint de intranet, o endereço IP, a porta e a Load URL da instância.

Cenário 2: Conexão via Internet

A transmissão de dados pela internet apresenta riscos de segurança. Utilize controles como listas de permissões e controle de acesso baseado em IP.

  • Caso de uso: Necessidade de acessar uma instância StarRocks pela internet, por exemplo, entre regiões ou a partir de um ambiente local.

  • Modo compatível: Modo de string de conexão (certifique-se de que o acesso à rede pública esteja habilitado para a instância StarRocks):

    • Selecione User-created Data Store with Public IP Addresses: Insira manualmente o endpoint público, o endereço IP, a porta e a Load URL da instância.

Nota

Por padrão, grupos de recursos serverless não acessam a internet. Para conectar-se a uma instância StarRocks usando um endpoint público, configure um NAT gateway e um EIP para a VPC associada, habilitando assim o acesso à internet. Além disso, garanta que o grupo de recursos possa acessar a query port, a FE port e a BE port da instância StarRocks, que geralmente correspondem às portas 9030, 8030 e 8040.

Se estiver usando o EMR Serverless StarRocks, defina o campo Host Address/IP Address como o Internal Endpoint ou o Public network address, e utilize a query port como porta.

  • FE: Essas informações estão disponíveis na página de detalhes da instância.

    Na seção FE Details, localize o public endpoint e a query port (o padrão é 9030).

  • Database: Após conectar-se à instância pelo EMR StarRocks Manager, localize o banco de dados na visualização SQL Editor ou Metadata Management.

    Nota

    Para criar um banco de dados, execute instruções SQL diretamente no editor SQL.

Tarefas de sincronização de dados

Para informações sobre o ponto de entrada e o procedimento de configuração de uma tarefa de sincronização, consulte os guias abaixo.

Sincronização em lote de tabela única

Sincronização em tempo real de tabela única

Sincronização em lote de banco de dados completo

Sincronização em tempo real de banco de dados completo

Exemplos de script e parâmetros

Configurar uma tarefa de sincronização em lote usando o editor de código

Ao configurar uma tarefa de sincronização em lote pelo editor de código, defina os parâmetros relevantes no script conforme os requisitos unificados de formato. Para mais informações, consulte Script mode configuration. As informações a seguir detalham os parâmetros obrigatórios para fontes de dados na configuração via editor de código.

Exemplo de script do Reader

{
    "stepType": "starrocks",
    "parameter": {
        "selectedDatabase": "didb1",
        "datasource": "starrocks_datasource",
        "column": [
            "id",
            "name"
        ],
        "where": "id>100",
        "table": "table1",
        "splitPk": "id"
    },
    "name": "Reader",
    "category": "reader"
}

Parâmetros do script do Reader

Parameter

Description

Required

Default

datasource

Nome da fonte de dados StarRocks.

Sim

Nenhum

selectedDatabase

Nome do banco de dados StarRocks.

Não

Nome do banco de dados configurado na fonte de dados StarRocks.

column

Colunas da tabela de origem a serem sincronizadas. Para adicionar uma dica SET_VAR durante a leitura de dados do StarRocks, insira a dica antes do primeiro nome de coluna no array. Por exemplo, para sincronizar a coluna id e adicionar a dica SET_VAR(enable_spill = true), defina o parâmetro column como [ "/+ SET_VAR(enable_spill = true)/ id"].

Sim

Nenhum

where

Condição de filtro. Em cenários típicos de sincronização de dados gerados no dia atual, defina a condição where como gmt_create>${bizdate}.

  • A condição where viabiliza uma sincronização incremental eficiente.

  • Sem a cláusula where, ou caso falte chave ou valor nesse parâmetro, o sistema trata a operação como uma sincronização completa de dados.

Não

Nenhum

table

Tabela de origem dos dados a serem sincronizados.

Sim

Nenhum

splitPk

Especificar o parâmetro splitPk permite a sincronização paralela de dados por meio de data sharding baseado na coluna indicada, melhorando o desempenho. Recomenda-se usar a chave primária da tabela para o parâmetro splitPk, pois chaves uniformemente distribuídas evitam pontos críticos de dados.

Não

Nenhum

Exemplo de script do Writer

{
    "stepType": "starrocks",
    "parameter": {
        "selectedDatabase": "didb1",
        "loadProps": {
            "row_delimiter": "\\x02",
            "column_separator": "\\x01"
        },
        "datasource": "starrocks_public",
        "column": [
            "id",
            "name"
        ],
        "loadUrl": [
            "1.1.X.X:8030"
        ],
        "table": "table1",
        "preSql": [
            "truncate table table1"
        ],
        "postSql": [
        ],
        "maxBatchRows": 500000,
        "maxBatchSize": 5242880,
        "strategyOnError": "exit"
    },
    "name": "Writer",
    "category": "writer"
}

Parâmetros do script do Writer

Parameter

Description

Required

Default

datasource

Nome da fonte de dados StarRocks.

Sim

Nenhum

selectedDatabase

Nome do banco de dados StarRocks.

Não

Nome do banco de dados configurado na fonte de dados StarRocks.

loadProps

Nota

Ao gravar no StarRocks com Stream Load, a política de escrita (Upsert ou Append) depende do modelo da tabela de destino e não exige configuração. Tabelas com modelo de chave primária usam a política Upsert, enquanto outros modelos adotam Append por padrão.

Parâmetros de requisição para o Stream Load do StarRocks. Ao importar dados CSV via Stream Load, é possível configurar parâmetros opcionais. Se não houver necessidade de configuração especial, use {}. Os parâmetros configuráveis incluem:

  • column_separator: delimitador de colunas para importação CSV. Padrão: \t.

  • row_delimiter: delimitador de linhas para importação CSV. Padrão: \n.

Caso seus dados contenham \t ou \n, especifique outros caracteres como delimitadores. Exemplo:

{"column_separator":"\\x01","row_delimiter":"\\x02"}

O Stream Load também oferece suporte à importação de dados JSON. Para isso, configure o seguinte parâmetro:

{
  "format": "json"
}

Os seguintes parâmetros estão disponíveis para o formato JSON:

  • strip_outer_array: define se a estrutura de array mais externa deve ser removida. Valores válidos: true e false. Valor padrão: false.

    Em cenários reais, os dados JSON a serem importados podem estar envoltos por colchetes externos ([]) representando um array. Nesse caso, recomenda-se definir este parâmetro como true. O StarRocks então remove os colchetes externos ([]) e importa cada array interno como uma linha separada. Se definido como false, o StarRocks analisa todo o arquivo de dados JSON como um único array e o importa como uma única linha.

    [{"category":1,"author":2},{"category":3,"author":4}]
    
    • Com o parâmetro definido como true, o StarRocks analisa {"category":1,"author":2} e {"category":3,"author":4} como duas linhas distintas, importando-as para as respectivas linhas na tabela de destino.

    • Com o parâmetro definido como false, o StarRocks analisa todo o array JSON como uma única linha e o importa para a tabela de destino.

  • ignore_json_size: define se o tamanho do corpo JSON em uma requisição HTTP deve ser verificado.

    Nota

    Por padrão, o tamanho do corpo JSON em uma requisição HTTP não pode exceder 100 MB. Se ultrapassar 100 MB, a seguinte mensagem de erro será retornada: The size of this batch exceed the max size [104857600] of json type data data [8617627793].Set ignore_json_size to skip check,although it may lead huge memory consuming. Para evitar esse erro, adicione ignore_json_size: true ao cabeçalho da requisição HTTP para ignorar a verificação de tamanho do corpo JSON.

  • compression: especifica o algoritmo de compressão usado durante a transmissão de dados do Stream Load. Algoritmos compatíveis: GZIP, BZIP2, LZ4_FRAME e ZSTD.

  • strict_mode: define se o modo estrito deve ser ativado.

    Valores válidos:

    • true: Ativa o modo estrito. O StarRocks filtra linhas inválidas, importa apenas as válidas e retorna detalhes sobre os dados inválidos.

    • false: Desativa o modo estrito. O StarRocks converte campos com falha de conversão para valores NULL e importa as linhas contendo esses valores NULL juntamente com as linhas de dados válidas.

    Valor padrão: false.

Sim

Nenhum

column

Colunas de destino para sincronização dos dados.

Sim

Nenhum

loadUrl

Endereço IP e porta HTTP do nó frontend (FE) do StarRocks. A porta padrão geralmente é 8030. Se houver múltiplos nós FE, especifique todos eles separados por vírgulas (,).

Sim

Nenhum

table

Tabela de destino para sincronização dos dados.

Sim

Nenhum

preSql

Instruções SQL a serem executadas antes do início da tarefa de sincronização. Por exemplo, execute TRUNCATE TABLE tablename para limpar dados existentes na tabela de destino.

Não

Nenhum

postSql

Instruções SQL a serem executadas após a conclusão da tarefa de sincronização.

Não

Nenhum

maxBatchRows

Número máximo de linhas a serem gravadas por lote.

Não

500000

maxBatchSize

Tamanho máximo de dados a serem gravados por lote, em bytes.

Não

5242880

strategyOnError

Política para tratamento de erros ocorridos durante gravações em lote.

Valores válidos:

  • exit: Se ocorrer um erro de escrita, a tarefa falha e encerra.

  • batchDirtyData: Se ocorrer um erro de escrita, a tarefa registra o lote de dados atual como dados sujos.

Valor padrão: exit.

Não

exit