Todos os produtos
Search
Central de documentação

DataWorks:GBase8a

Última atualização: Jun 27, 2026

A fonte de dados GBase8a permite ler e gravar dados no GBase8a. Este tópico descreve os recursos de sincronização de dados do GBase8a no DataWorks.

O GBase8a Reader e o GBase8a Writer oferecem suporte a:

  • Leitura de várias tabelas em uma única tarefa de sincronização

  • Filtragem de linhas com condições WHERE para sincronização incremental

  • Particionamento de tabelas grandes por chave primária para leituras paralelas

  • Gravação de dados com hooks SQL de pré e pós-execução

Limitações

  • O GBase8a Reader e o GBase8a Writer são compatíveis com Grupos de recursos Serverless (recomendado) e grupos de recursos exclusivos para Data Integration.

  • Se uma instrução INSERT INTO encontrar um conflito de chave primária ou índice único, as linhas conflitantes não serão gravadas.

  • É possível gravar dados apenas em uma tabela de destino no banco de dados principal.

  • A tarefa exige pelo menos a permissão INSERT INTO. Permissões adicionais podem ser necessárias para instruções especificadas em preSql e postSql.

  • O GBase8a Writer não oferece suporte ao parâmetro writeMode.

Pré-requisitos

Adicione uma fonte de dados GBase8a ao DataWorks antes de desenvolver uma tarefa de sincronização. Siga as instruções em Gerenciamento de fontes de dados. As descrições dos parâmetros estão disponíveis no console do DataWorks ao adicionar a fonte de dados.

Configure uma tarefa de sincronização

Configure uma tarefa de sincronização offline para uma única tabela usando a interface visual sem código ou o editor de código:

Para obter descrições de parâmetros do editor de código e exemplos de script, consulte Apêndice: Exemplos de script e descrições de parâmetros.

Apêndice: Exemplos de script e descrições de parâmetros

Os scripts e tabelas de parâmetros a seguir abrangem as configurações específicas do GBase8a Reader e do GBase8a Writer. Para o formato de script unificado exigido pelo editor de código, consulte Configure uma tarefa no editor de código.

Exemplo de script do Reader

{
    "type": "job",
    "steps": [
        {
            "stepType": "gbase8a",
            "parameter": {
                "datasource": "",
                "username": "",
                "password": "",
                "where": "",
                "column": [
                    "id",
                    "name"
                ],
                "splitPk": "id",
                "connection": [
                    {
                        "table": [
                            "table"
                        ],
                        "datasource": ""
                    }
                ]
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "stream",
            "parameter": {
                "print": false,
                "fieldDelimiter": ","
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    }
}

Parâmetros do Reader

Parâmetro Descrição Obrigatório Padrão
table Tabelas de source da sincronização. Especifique como um array JSON. É possível ler várias tabelas em paralelo, mas todas devem ter o mesmo schema. O GBase8a Reader não verifica a consistência do schema entre as tabelas. Aninhe o parâmetro table dentro do bloco de configuração connection. Sim Nenhum
column Colunas a sincronizar. Especifique como um array JSON. Use ["*"] para selecione todas as colunas. Oferece suporte a seleção de colunas específicas, reordenação (exportação em ordem diferente do schema), valores constantes (por exemplo, '123') e colunas de função (por exemplo, date('now')). Não pode ficar em branco. Sim Nenhum
datasource Nome da fonte de dados GBase8a adicionada no DataWorks. Não Nenhum
splitPk Coluna usada para particionar dados em leituras paralelas. Utilize uma chave primária inteira para garantir distribuição uniforme dos dados e evitar hotspots. Aceita apenas tipos inteiros. Strings, números de ponto flutuante e datas não são suportados; nesses casos, a configuração é ignorada e o sistema retorna à leitura de canal único. Deixe em branco para desativar o particionamento. Não Em branco
where Condição de filtro anexada à consulta SQL. O GBase8a Reader cria uma consulta a partir de column, table e where para extrair dados. Use where para sincronização incremental. Por exemplo, defina como gmt_create>$bizdate para sincronizar os dados do dia atual. Se deixado em branco, o sistema execute uma sincronização completa de dados. Não Nenhum
querySql Consulta SQL personalizada que substitui table, column, where e splitPk. Recomendado quando where sozinho não consegue expressar a lógica de filtro necessária. Quando querySql está definido, o GBase8a Reader ignora os parâmetros table, column, where e splitPk. Não Nenhum
fetchSize Número de registros buscados no banco de dados por lote. Um valor maior reduz as idas e vindas na rede e melhora o throughput de leitura.
Nota

Valores superiores a 2048 podem causar erro de falta de memória (OOM) durante a sincronização.

Não 1.024

Exemplo de script do Writer

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "gbase8a",
            "parameter": {
                "datasource": "Data source name",
                "username": "",
                "password": "",
                "column": [
                    "id",
                    "name"
                ],
                "connection": [
                    {
                        "table": [
                            "Gbase8a_table"
                        ],
                        "datasource": ""
                    }
                ],
                "preSql": [
                    "delete from @table where db_id = -1"
                ],
                "postSql": [
                    "update @table set db_modify_time = now() where db_id = 1"
                ]
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parâmetros do Writer

Parâmetro

Descrição

Obrigatório

Padrão

datasource

Nome da fonte de dados adicionada no DataWorks. Deve corresponder exatamente ao nome da fonte de dados adicionada.

Sim

Nenhum

table

Tabela de destino para gravação de dados. Especifique como um array JSON. Aninhe o parâmetro table dentro do bloco de configuração connection.

Sim

Nenhum

column

Colunas de destino para gravação. Separe múltiplas colunas com vírgulas — por exemplo, ["id", "name", "age"]. Não pode ficar em branco.

Sim

Nenhum

preSql

Instrução SQL executada antes da gravação dos dados. Use @table como espaço reservado para o nome da tabela de destino. O sistema substitui esse valor pelo nome real da tabela em tempo de execução.

Não

Nenhum

postSql

Instrução SQL executada após a conclusão da gravação dos dados.

Não

Nenhum

batchSize

Número de registros enviados por lote. Valores maiores reduzem as idas e vindas na rede e melhoram o throughput de gravação. Valores excessivamente altos podem causar erro de falta de memória (OOM) durante a sincronização.

Não

1.024