Todos os produtos
Search
Central de documentação

DataWorks:FTP

Última atualização: Jun 27, 2026

A fonte de dados FTP oferece um canal bidirecional para leitura e gravação de dados em servidores FTP. Este tópico descreve os recursos de sincronização de dados da fonte de dados FTP no DataWorks.

Limitações

FTP Reader

O FTP Reader lê dados de arquivos FTP remotos. Como esses arquivos são inerentemente não estruturados, aplicam-se as seguintes capacidades e limitações.

Capacidade

Suportado

Leitura de arquivos TXT (esquema de tabela bidimensional)

Sim

Arquivos semelhantes a CSV com separadores personalizados

Sim

Múltiplos tipos de dados (representados como STRING), remoção de colunas e constantes de coluna

Sim

Leituras recursivas e filtragem por nome de arquivo

Sim

Compressão de texto (gzip, bzip2, zip, lzo, lzo_deflate)

Sim

Leituras simultâneas de vários arquivos

Sim

Leituras simultâneas multithread de um único arquivo

Não

Leituras simultâneas multithread de um único arquivo compactado

Não

FTP Writer

O FTP Writer converte dados e os grava em arquivos FTP. Visto que os arquivos FTP são inerentemente não estruturados, valem as capacidades e restrições abaixo.

Capacidade

Suportado

Gravação de arquivos de texto com esquema de tabela bidimensional

Sim

Formatos de arquivo TEXT e semelhantes a CSV com separadores personalizados

Sim

Gravações multithread (cada thread grava em um subarquivo diferente)

Sim

Gravações simultâneas em um único arquivo

Não

Tipos de dados nativos (todos os dados são gravados como STRING)

Não

Compressão de texto durante a gravação

Não

Tipos de campo suportados

Arquivos FTP remotos não possuem tipos de dados nativos. Os tipos de campo a seguir são definidos pelo FtpReader do DataX.

Tipo interno do DataX

Tipo de dados do arquivo FTP remoto

LONG

LONG

DOUBLE

DOUBLE

STRING

STRING

BOOLEAN

BOOLEAN

DATE

DATE

Adicionar uma fonte de dados

Antes de desenvolver uma tarefa de sincronização no DataWorks, adicione a fonte de dados FTP seguindo 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 uma fonte de dados.

Desenvolver uma tarefa de sincronização de dados

Para pontos de entrada de configuração e procedimentos, consulte os guias a seguir.

Tarefa de sincronização offline de tabela única

Para obter uma demonstração de script e descrições de parâmetros do editor de código, consulte Apêndice: Demonstração de script e descrição de parâmetros.

Apêndice: Demonstração de script e descrição de parâmetros

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

Para configurar uma tarefa de sincronização em lote no editor de código, defina os parâmetros no script conforme o formato unificado de script. Para mais informações, consulte Configurar uma tarefa no editor de código.

Demonstração de script do Reader

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "ftp",
            "parameter": {
                "path": [],
                "nullFormat": "",
                "compress": "",
                "datasource": "",
                "column": [
                    {
                        "index": 0,
                        "type": ""
                    }
                ],
                "skipHeader": "",
                "fieldDelimiter": ",",
                "encoding": "UTF-8",
                "fileFormat": "csv"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parâmetros do script do Reader

Parâmetro

Descrição

Obrigatório

Valor padrão

datasource

Nome da fonte de dados. Deve corresponder ao nome da fonte de dados adicionada.

Sim

Nenhum

path

Caminho e nome do arquivo no sistema de arquivos FTP remoto. Especifique o caminho completo, incluindo nome e extensão do arquivo. Suporta múltiplos caminhos. Consulte Comportamento do parâmetro path.

Sim

Nenhum

column

Lista de campos a serem lidos. Cada entrada requer type e também index ou value. Consulte Formato do parâmetro column.

Sim

Nenhum

fieldDelimiter

Separador de campos para leitura de dados.

Sim

,

skipHeader

Define se a linha de cabeçalho deve ser ignorada em arquivos semelhantes a CSV. Não há suporte para arquivos compactados.

Não

false

encoding

Formato de codificação dos arquivos a serem lidos.

Não

utf-8

nullFormat

Representação em string para valores nulos. Se não definido, os dados da fonte são gravados como estão, sem conversão.

Não

Nenhum

markDoneFileName

Nome do arquivo de marcação. A tarefa de sincronização aguarda o surgimento deste arquivo antes de iniciar.

Não

Nenhum

maxRetryTime

Número de tentativas ao verificar o arquivo de marcação. O intervalo entre tentativas é de 1 minuto; o tempo total de espera é de 60 minutos.

Não

60

csvReaderConfig

Opções de configuração para leitura de arquivos CSV (tipo Map). Utiliza valores padrão caso não seja definido.

Não

Nenhum

fileFormat

Tipo de arquivo a ser lido. Por padrão, os arquivos são lidos como CSV e analisados em uma tabela bidimensional. Defina como binary para cópia binária ponto a ponto entre sistemas de armazenamento, como FTP e Object Storage Service (OSS).

Não

Nenhum

Comportamento do parâmetro path

O comportamento de path varia conforme a especificação:

Tipo de caminho

Comportamento

Arquivo único

O FTP Reader utiliza uma única thread para extrair dados.

Múltiplos arquivos

O FTP Reader emprega extração multithread. A quantidade de threads equivale ao número de canais.

Caractere curinga (*)

O FTP Reader percorre o diretório e lê todos os arquivos correspondentes. Por exemplo, / lê todos os arquivos no diretório raiz; /bazhen/ lê todos os arquivos no diretório bazhen. O FTP Reader suporta apenas o asterisco (*) como caractere curinga para arquivos.

Aviso

Evite usar o caractere curinga *, pois isso pode causar erro de estouro de memória na Java Virtual Machine (JVM).

Utilize parâmetros de agendamento para configurar nomes de arquivos e caminhos dinamicamente.

Restrições adicionais:

  • Todos os arquivos de texto em um job são tratados como uma única tabela de dados. Certifique-se de que todos os arquivos estejam em conformidade com o mesmo esquema.

  • Os arquivos a serem lidos devem estar em formato semelhante a CSV e acessíveis pelo sistema de sincronização de dados.

  • Caso nenhum arquivo corresponda ao caminho especificado, a tarefa de sincronização reportará um erro.

Formato do parâmetro column

Para ler todas as colunas como STRING, defina "column": ["*"].

Para especificar campos individuais:

{
    "type": "long",
    "index": 0
},
{
    "type": "string",
    "value": "alibaba"
}
  • type é obrigatório para cada entrada.

  • Especifique index (posição da coluna, iniciando em 0) ou value (uma constante injetada pelo FTP Reader sem leitura do arquivo de origem).

Demonstração de script do Writer

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "ftp",
            "parameter": {
                "path": "",
                "fileName": "",
                "nullFormat": "null",
                "dateFormat": "yyyy-MM-dd HH:mm:ss",
                "datasource": "",
                "writeMode": "",
                "fieldDelimiter": ",",
                "encoding": "",
                "fileFormat": ""
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parâmetros do script do Writer

Parâmetro

Descrição

Obrigatório

Valor padrão

datasource

Nome da fonte de dados. Deve corresponder ao nome da fonte de dados adicionada.

Sim

Nenhum

path

Caminho do diretório no sistema de arquivos FTP. O FTP Writer grava múltiplos subarquivos neste diretório.

Sim

Nenhum

fileName

Nome base do arquivo. Um sufixo aleatório é anexado por thread de gravação, por padrão, para evitar conflitos.

Sim

Nenhum

singleFileOutput

Defina como true para suprimir o sufixo aleatório e gravar exatamente no nome de arquivo especificado em fileName.

Não

false

writeMode

Comportamento de limpeza antes da gravação. Valores válidos: truncate, append, nonConflict. Consulte Valores de WriteMode.

Sim

Nenhum

fieldDelimiter

Separador de campos para gravação de dados. Deve ser um único caractere.

Sim

Nenhum

timeout

Tempo limite de conexão com o servidor FTP. Unidade: milissegundos.

Não

60000 (1 minuto)

skipHeader

Indica se a linha de cabeçalho deve ser ignorada. Não há suporte para arquivos compactados.

Não

false

compress

Formato de compactação para gravação. Valores válidos: gzip, bzip2.

Não

Sem compactação

encoding

Formato de codificação para gravação.

Não

utf-8

nullFormat

Representação em string para valores nulos. Por exemplo, definir nullFormat="null" serializa ponteiros nulos como a string literal null.

Não

Nenhum

dateFormat

Formato para serialização de dados do tipo DATE. Exemplo: "yyyy-MM-dd".

Não

Nenhum

fileFormat

Formato para gravação de arquivos. Valores válidos: CSV, TEXT. CSV é um formato CSV estrito que escapa o delimitador de coluna usando aspas duplas ("). Já TEXT usa separação simples por delimitador, sem escape.

Não

TEXT

header

Linha de cabeçalho a ser gravada como primeira linha do arquivo de saída. Exemplo: ["id", "name", "age"].

Não

Nenhum

markDoneFileName

Caminho absoluto do arquivo de marcação gerado após a conclusão da tarefa de sincronização. Em tarefas acionadas automaticamente, inclua parâmetros de agendamento no nome do arquivo. Exemplo: /user/ftp/markDone_${bizdate}.txt.

Não

Nenhum

Valores de WriteMode

Valor

Comportamento

truncate

Limpa os arquivos existentes antes de gravar. Se singleFileOutput for true, limpa arquivos com o mesmo nome. Caso seja false, remove todos os arquivos com o prefixo fileName.

append

Grava sem pré-processamento. O FTP Writer do Data Integration garante que não haja conflito nos nomes dos arquivos.

nonConflict

Reporta um erro se já existir um arquivo com o prefixo fileName.