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 |
|
BOOL |
Tipo booleano. |
|
DOUBLE |
Tipo ponto flutuante. |
|
DATE |
Tipo data e hora. Formatos compatíveis:
|
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.
Para o procedimento, consulte Configuração de UI sem código e Configuração em modo script.
Para obter o conjunto completo de parâmetros e um exemplo de script para o modo script, visualize o Apêndice: Exemplo de script e parâmetros abaixo.
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: |
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.
Nota
Nas informações de column especificadas, o campo type é obrigatório. Escolha entre index ou value. |
Sim |
Tudo lido como |
|
fieldDelimiter |
Delimitador de campos para leitura. Nota
|
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: |
Não |
|
|
encoding |
Codificação utilizada para ler o arquivo. |
Não |
|
|
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:
|
Não |
Nenhum |
|
skipHeader |
Para arquivos CSV, utilize skipHeader para controlar se o cabeçalho será lido.
Nota
O parâmetro skipHeader não é compatível com o modo de arquivo compactado. |
Não |
|
|
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.
|
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 |