Todos os produtos
Search
Central de documentação

DataWorks:Fonte de dados TOS

Última atualização: Jun 27, 2026

A fonte de dados TOS permite ler arquivos do TOS. Use essa source para recuperar arquivos armazenados no TOS, analisá-los e sincronizar os dados com qualquer fonte de destino. Este tópico descreve as capacidades de sincronização de dados do DataWorks para o TOS.

Limitações

A fonte de dados TOS oferece suporte aos seguintes tipos de coluna no DataWorks.

Tipo de dados

Descrição

STRING

Tipo texto.

LONG

Tipo inteiro.

BYTES

Array de bytes. Converte o conteúdo de texto lido em um array de bytes codificado em UTF-8.

BOOL

Tipo booleano.

DOUBLE

Tipo ponto flutuante.

DATE

Tipo data e hora. Formatos compatíveis:

  • YYYY-MM-dd HH:mm:ss

  • yyyy-MM-dd

  • HH:mm:ss

Crie uma fonte de dados TOS

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

Desenvolver uma tarefa de sincronização de dados

A fonte de dados TOS pode ser usada apenas como origem em tarefas de sincronização em lote de tabela única. A seguir, descrevemos o ponto de entrada e o processo geral de configuração dessas tarefas.

Apêndice: Exemplo de script e parâmetros

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

Para configurar uma tarefa de sincronização em lote com o editor de código, defina os parâmetros relacionados no script conforme os requisitos unificados de formato. Para mais informações, consulte Configuração em modo script. As informações a seguir descrevem os parâmetros obrigatórios para fontes de dados ao utilizar o editor de código.

Exemplo de script do Reader

{
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "stepType": "tos",
      "parameter": {
        "datasource": "",
        "object": ["f/z/1.csv"],
        "fileFormat": "csv",
        "encoding": "utf8/gbk/...",
        "fieldDelimiter": ",",
        "useMultiCharDelimiter": true,
        "skipHeader": true,
        "compress": "zip/gzip",
        "column": [
          {
            "index": 0,
            "type": "long"
          },
          {
            "index": 1,
            "type": "boolean"
          },
          {
            "index": 2,
            "type": "double"
          },
          {
            "index": 3,
            "type": "string"
          },
          {
            "index": 4,
            "type": "date"
          }
        ]
      },
      "name": "Reader",
      "category": "reader"
    },
    {
      "stepType": "stream",
      "parameter": {},
      "name": "Writer",
      "category": "writer"
    }
  ],
  "setting": {
    "errorLimit": {
      "record": "0"
    },
    "speed": {
      "concurrent": 1
    }
  },
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  }
}

Parâmetros do script Reader

Parâmetro

Descrição

Obrigatório

Valor padrão

datasource

Nome da fonte de dados. O modo script permite adicionar fontes de dados. O valor deste parâmetro deve corresponder exatamente ao nome da fonte adicionada.

Sim

Nenhum

fileFormat

Tipo do arquivo de source. Tipos compatíveis: csv, text, parquet e orc.

Sim

Nenhum

object

Caminho do arquivo. Este parâmetro aceita o caractere curinga * e pode ser configurado como um array.

Por exemplo, para sincronizar os arquivos a/b/1.csv e a/b/2.csv, configure a/b/*.csv.

Sim

Nenhum

column

Lista de colunas a serem lidas. O campo type define o tipo de dado da source. O campo index indica de qual coluna do texto (iniciando em 0) os dados serão extraídos. O campo value define que o tipo atual é uma constante; nesse caso, a coluna correspondente é gerada automaticamente com base no valor fornecido, sem leitura direta do arquivo de source.

  • Por padrão, todos os dados podem ser lidos como tipo String. A configuração é a seguinte:

    column": ["*"]
  • Especifique as informações da coluna da seguinte forma:

    "column":    
        {       
            "type": "long",       
            "index": 0 //Obtém o campo int da primeira coluna do texto TOS.
        },    
        {       
            "type": "string",       
            "value": "alibaba" //Gera internamente o campo string 'alibaba' a partir do TOS como campo atual.    
    }
Nota

Nas informações de column especificadas, o campo type é obrigatório. Escolha entre index ou value.

Sim

Tudo lido como STRING.

fieldDelimiter

Delimitador de campos para leitura.

Nota
  • Ao ler dados com o TOS Reader, especifique um delimitador de campos. Caso não seja definido, o padrão é vírgula (,), valor também pré-preenchido na configuração de UI.

  • Se o delimitador não for visível, insira o código Unicode. Exemplo: \u001b ou \u007c.

Sim

,

lineDelimiter

Delimitador de linhas para leitura.

Nota

Este parâmetro tem efeito apenas quando fileFormat está definido como text.

Não

Nenhum

compress

Tipo de compressão de texto. Vazio por padrão (sem compressão). Tipos compatíveis: gzip, bzip2 e zip.

Não

Sem compressão

encoding

Codificação utilizada para ler o arquivo.

Não

utf-8

nullFormat

Arquivos de texto não conseguem definir null (ponteiro nulo) usando uma string padrão. O sistema de sincronização de dados fornece o nullFormat para definir quais strings devem ser tratadas como null. Exemplos:

  • Ao definir nullFormat:"null", isso equivale a um "caractere visível". Se o dado da source for null, a sincronização o tratará como um campo nulo.

  • Ao definir nullFormat:"\u0001", isso equivale a um "caractere invisível". Se o dado da source for a string "\u0001", a sincronização o tratará como um campo nulo.

  • Se "nullFormat" não for especificado, equivale a "não configurado", ou seja, os dados da source são gravados no destino exatamente como estão, sem conversão.

Não

Nenhum

skipHeader

Para arquivos CSV, utilize skipHeader para controlar se o cabeçalho será lido.

  • True: Lê o cabeçalho durante a sincronização da fonte de dados.

  • False: Não lê o cabeçalho durante a sincronização da fonte de dados.

Nota

O parâmetro skipHeader não é compatível com o modo de arquivo compactado.

Não

false

parquetSchema

Configure este parâmetro ao ler dados do TOS no formato Parquet. Ele tem efeito apenas quando fileFormat é parquet e descreve o tipo de armazenamento dos dados Parquet. Certifique-se de que toda a configuração esteja em conformidade com a sintaxe JSON após preencher o parquetSchema.

message MessageTypeName {
required or optional, data type, column name;
......................;
}
  • O formato do parquetSchema é descrito a seguir:

    • Nome do MessageType: insira um nome.

    • Obrigatoriedade: required indica não nulo, optional indica anulável. Recomendamos definir todos como optional.

    • Tipo de dados: Arquivos Parquet oferecem suporte a BOOLEAN, Int32, Int64, Int96, FLOAT, DOUBLE, BINARY (use BINARY para tipo string) e fixed_len_byte_array.

    • Cada linha de coluna deve terminar com ponto e vírgula, inclusive a última.

  • Exemplo de configuração:

    "parquetSchema": "message m { optional int32 minute_id; optional int32 dsp_id; optional int32 adx_pid; optional int64 req; optional int64 res; optional int64 suc; optional int64 imp; optional double revenue; }"

Não

Nenhum

csvReaderConfig

Parâmetros de configuração para leitura de arquivos CSV, no formato Map. A leitura de arquivos CSV utiliza o csvReader. Se não configurado, valores padrão serão aplicados.

Não

Nenhum