Todos los productos
Search
Centro de documentos

DataWorks:Origen de datos FTP

Última actualización: Sep 06, 2026

DataWorks admite FTP como origen de datos para leer y escribir información en servidores FTP.

Limitaciones

FTP Reader lee los datos de archivos FTP remotos y los convierte al protocolo de Data Integration. Los archivos FTP remotos se almacenan como datos no estructurados.

Compatible

No compatible

  • Lee datos únicamente de archivos de texto. El esquema de los datos en estos archivos debe ser una tabla bidimensional.

  • Lee datos de archivos similares a CSV con delimitadores personalizados.

  • Lee datos en formatos JSON y JSONL.

  • Lee datos de diversos tipos como cadenas de texto. Admite la eliminación de columnas y las columnas constantes.

  • Admite lecturas recursivas y el filtrado por nombre de archivo.

  • Admite la compresión de archivos. Los formatos de compresión compatibles son gzip, bzip2, zip, lzo y lzo_deflate.

  • Admite lecturas simultáneas de varios archivos.

  • Lectura simultánea de un solo archivo mediante hilos paralelos. Esto requiere un algoritmo interno de división de archivos.

  • Debido a limitaciones técnicas, no se admite la lectura simultánea de un único archivo comprimido mediante hilos paralelos.

FTP Writer convierte los datos según el protocolo de Data Integration y los escribe en archivos dentro de un servidor FTP.

Compatible

No compatible

  • Escribe datos únicamente en archivos de texto. No admite datos BLOB, como videos. El esquema de los datos en los archivos de texto debe ser una tabla bidimensional.

  • Escribe datos en archivos similares a CSV, TEXT, JSON y JSONL con delimitadores personalizados.

  • Escribe datos mediante hilos paralelos. Cada hilo escribe los datos en un subarchivo distinto.

  • Escrituras simultáneas en un solo archivo.

  • Tipos de datos nativos. FTP Writer escribe todos los datos como el tipo STRING.

  • Compresión de archivos durante la escritura de datos.

Tipos de datos compatibles

Los archivos FTP remotos no tienen tipos de datos nativos. En su lugar, los define FTP Reader en Data Integration.

Tipo de Data Integration

Tipo de FTP

LONG

LONG

DOUBLE

DOUBLE

STRING

STRING

BOOLEAN

BOOLEAN

DATE

DATE

Agregar un origen de datos

Antes de desarrollar una tarea de sincronización en DataWorks, agregue el origen de datos obligatorio a DataWorks siguiendo las instrucciones de Data source configuration. Consulte las descripciones de parámetros en la consola de DataWorks para comprender el significado de cada parámetro cuando agregue un origen de datos.

Desarrollar una tarea de sincronización de datos

Para conocer el punto de entrada y el procedimiento de configuración de una tarea de sincronización, consulte a continuación las guías de configuración correspondientes.

Sincronización por lotes de una sola tabla

Apéndice: script de ejemplo y parámetros

Configurar una tarea de sincronización por lotes con el editor de código

Si desea configurar una tarea de sincronización por lotes con el editor de código, defina los parámetros correspondientes en el script de acuerdo con los requisitos unificados de formato. Para obtener más información, consulte Script mode configuration. A continuación se describen los parámetros que debe configurar para los orígenes de datos cuando utilice el editor de código.

Script de ejemplo de Reader

{
    "type":"job",
    "version":"2.0",// Version number.
    "steps":[
        {
            "stepType":"ftp",// Plug-in name.
            "parameter":{
                "path":[],// File path.
                "nullFormat":"",// Null value.
                "compress":"",// Compression format.
                "datasource":"",// Data source.
                "column":[// Columns.
                    {
                        "index":0,// ID.
                        "type":""// Data type.
                    }
                ],
                "skipHeader":"",// Specifies whether to include a header.
                "fieldDelimiter":",",// Column delimiter.
                "encoding":"UTF-8",// Encoding format.
                "fileFormat":"csv"// File format.
            },
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"stream",
            "parameter":{},
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"// Maximum number of allowed dirty data records.
        },
        "speed":{
        "throttle":true,// If false, the mbps parameter is ignored and no throttling is applied. If true, throttling is applied based on the mbps value.
            "concurrent":1, // Job concurrency.
            "mbps":"12"// Throttling rate. 1 mbps = 1 MB/s.
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Parámetros del script de Reader

Parámetro

Descripción

Obligatorio

Predeterminado

datasource

El nombre del origen de datos. Debe coincidir con el nombre del origen de datos que configuró en DataWorks.

Sí

Ninguna

path

La ruta del archivo de origen en el sistema de archivos FTP remoto. Especifique la ruta completa del archivo de origen, incluida la extensión. Puede especificar varias rutas.

  • Si especifica un solo archivo FTP remoto, FTP Reader utilizará un único hilo para extraer los datos. Las versiones futuras de FTP Reader admitirán lecturas simultáneas de un solo archivo sin comprimir mediante hilos paralelos.

  • Si especifica varios archivos FTP remotos, FTP Reader usará hilos paralelos para extraer los datos. La cantidad de canales determina el número de hilos simultáneos.

  • Si especifica un comodín, FTP Reader intentará recorrer y localizar varios archivos. Por ejemplo, si especifica /, FTP Reader leerá todos los archivos del directorio /. Si especifica /bazhen/, leerá todos los archivos del directorio /bazhen/. FTP Reader solo admite el asterisco (*) como comodín de archivo. También puede usar scheduling parameters para configurar de manera flexible los nombres y las rutas de los archivos.

Nota
  • Evite usar el comodín de asterisco (*), ya que podría provocar un error de memoria insuficiente (OOM) en la máquina virtual Java (JVM).

  • Data Integration considera todos los archivos de texto sincronizados en un trabajo como una única tabla de datos. Asegúrese de que todos los archivos se puedan procesar con el mismo esquema.

  • Asegúrese de que los archivos tengan un formato similar a CSV y de que el sistema Data Integration tenga permisos de lectura sobre ellos.

  • Si no se encuentra ningún archivo que coincida con la ruta especificada, la tarea de sincronización de datos fallará.

Sí

Ninguna

column

La lista de columnas que se van a leer. type indica el tipo de dato de origen:

  • Formato CSV/TEXT: index indica la columna de la que desea leer datos. El valor comienza en 0. value indica un valor constante.

  • Formato JSON/JSONL: use jsonPath para indicar una expresión JSONPath que extraiga los campos. value indica un valor constante.

De forma predeterminada, puede leer todos los datos como tipo STRING mediante la configuración "column":["*"]. Especifique el campo column de la siguiente manera.

// CSV/TEXT format
    {
        "type": "long",
        "index": 0    // Reads data from the first column of the remote FTP text file as an INT field.
      },
      {
        "type": "string",
        "value": "alibaba"  // Generates a string field whose value is alibaba in FTP Reader.
      }
// JSON/JSONL format
{
    "name": "id",
    "jsonPath": "$.id",
    "type": "LONG"
  },
  {
    "name": "name",
    "jsonPath": "$.user.name",
    "type": "STRING"
  },
  {
    "name": "source",
    "value": "ftp",
    "type": "STRING"
  }

Para el parámetro column especificado, debe definir type. En el formato CSV/TEXT, seleccione index o value. En el formato JSON/JSONL, seleccione jsonPath o value.

Sí

Ninguna

fieldDelimiter

El delimitador que separa las columnas en los archivos de origen.

Nota

Debe especificar un delimitador para que FTP Reader lea los datos. Si no lo define, se utilizará la coma (,) predeterminada. En la interfaz de usuario, también se establece la coma (,) de forma predeterminada.

Sí

,

skipHeader

Un archivo similar a CSV podría tener un encabezado que necesite omitirse. De forma predeterminada, el encabezado no se omite. Este parámetro no es compatible con archivos comprimidos.

No

false

encoding

La codificación de los archivos de origen.

No

utf-8

nullFormat

Los archivos de texto no pueden usar cadenas estándar para valores nulos (punteros nulos). Use nullFormat para indicar qué cadenas representan valores nulos. Ejemplos:

  • Si establece este parámetro en nullFormat:"null" y los datos de origen son la cadena "null", Data Integration procesará esos datos como un valor nulo.

  • Si establece este parámetro en nullFormat:"\u0001" y los datos de origen son la cadena \u0001, Data Integration procesará esos datos como un valor nulo.

  • Si no configura el parámetro "nullFormat", no se aplicará ninguna conversión y los datos de origen se escribirán en el destino tal cual.

No

Ninguna

markDoneFileName

El nombre del archivo de finalización. Antes de iniciar una tarea de sincronización de datos, el sistema comprueba si existe dicho archivo. Si no lo encuentra, espera un periodo determinado y vuelve a comprobarlo. La tarea inicia únicamente cuando detecta el archivo.

No

Ninguna

maxRetryTime

La cantidad de reintentos para comprobar el archivo de finalización. El valor predeterminado es 60. El intervalo entre reintentos es de 1 minuto, lo que da un tiempo de espera total de 60 minutos.

No

60

csvReaderConfig

Los parámetros utilizados para leer archivos CSV. El valor debe ser de tipo Map. CsvReader lee los archivos CSV y ofrece diversas opciones de configuración. Si no configura este parámetro, se usarán los valores predeterminados.

No

Ninguna

fileFormat

El formato de los archivos de origen. Valores válidos: csv, text, json y jsonl. De forma predeterminada, los archivos se leen como CSV y se procesan como tablas bidimensionales lógicas. Si establece este parámetro en binary, los archivos se copiarán en formato binario.

Este parámetro suele utilizarse para replicar estructuras de directorios entre sistemas de almacenamiento como FTP y OSS. En la mayoría de los casos, no necesita configurarlo.

No

Ninguna

Script de ejemplo de Writer

{
    "type":"job",
    "version":"2.0",// Version number.
    "steps":[
        { 
            "stepType":"stream",
            "parameter":{},
            "name":"Reader",
            "category":"reader"
        },
        {
            "stepType":"ftp",// Plug-in name.
            "parameter":{
                "path":"",// File path.
                "fileName":"",// File name.
                "nullFormat":"null",// Null value.
                "dateFormat":"yyyy-MM-dd HH:mm:ss",// Date format.
                "datasource":"",// Data source.
                "writeMode":"",// Write mode.
                "fieldDelimiter":",",// Column delimiter.
                "encoding":"",// Encoding format.
                "fileFormat":""// File format.
            },
            "name":"Writer",
            "category":"writer"
        }
    ],
    "setting":{
        "errorLimit":{
            "record":"0"// Maximum number of allowed dirty data records.
        },
        "speed":{
            "throttle":true,// If false, the mbps parameter is ignored and no throttling is applied. If true, throttling is applied based on the mbps value.
            "concurrent":1, // Job concurrency.
            "mbps":"12"// Throttling rate. 1 mbps = 1 MB/s.
        }
    },
    "order":{
        "hops":[
            {
                "from":"Reader",
                "to":"Writer"
            }
        ]
    }
}

Parámetros del script de Writer

Parámetro

Descripción

Obligatorio

Predeterminado

datasource

El nombre del origen de datos. Debe coincidir con el nombre del origen de datos que configuró en DataWorks.

Sí

Ninguna

timeout

El tiempo de espera máximo para conectarse al servidor FTP. Unidad: milisegundos.

No

60,000 (1 minuto)

path

La ruta de destino en el sistema de archivos FTP. FTP Writer escribe varios archivos en el directorio que indique este parámetro.

Sí

Ninguna

fileName

El nombre del archivo donde FTP Writer escribirá los datos. Se añade un sufijo aleatorio a este nombre para generar el nombre real del archivo de cada hilo.

Sí

Ninguna

singleFileOutput

De forma predeterminada, FTP Writer añade un sufijo aleatorio al parámetro fileName especificado para crear un nombre de archivo único por cada hilo. Si no desea agregar este sufijo, establezca este parámetro en true. De este modo, el nombre del archivo de salida será exactamente el que usted indique.

No

false

writeMode

El modo para limpiar los datos antes de escribirlos.

  • truncate: si singleFileOutput es true, se eliminan los archivos del directorio de destino que tengan el mismo nombre antes de escribir los datos. Si singleFileOutput es false, se eliminan todos los archivos del directorio de destino cuyo nombre comience con el prefijo fileName especificado antes de escribir los datos.

  • append: no se limpian datos. FTP Writer escribe los archivos directamente usando el parámetro fileName especificado y garantiza que no haya conflictos de nombres.

  • nonConflict: si en el directorio ya existe un archivo cuyo nombre comience con el prefijo fileName especificado, la tarea falla y se reporta un error.

Sí

Ninguna

fieldDelimiter

El delimitador que separa las columnas en los archivos de destino.

Sí (solo un carácter)

Ninguna

skipHeader

Los archivos similares a CSV podrían tener encabezados que deban omitirse. De forma predeterminada, los encabezados no se omiten. Los archivos comprimidos no admiten skipHeader.

No

false

compress

Formatos de compresión compatibles: gzip y bzip2.

No

Sin compresión

encoding

La codificación de los archivos de destino.

No

utf-8

nullFormat

Los archivos de texto no pueden usar cadenas estándar para valores nulos (punteros nulos). Use nullFormat para indicar qué cadenas representan valores nulos.

Por ejemplo, si configura nullFormat="null" y los datos de origen son un puntero nulo, Data Integration los serializará como la cadena literal 'null' (4 caracteres).

No

Ninguna

dateFormat

El formato para serializar datos de tipo DATE en un archivo. Ejemplo: "dateFormat":"yyyy-MM-dd".

No

Ninguna

fileFormat

El formato de los archivos de destino. Valores válidos: CSV, TEXT, JSON y JSONL. CSV es un formato estricto; si los datos que se van a escribir contienen un delimitador de columnas, se escaparán con comillas dobles (") según la regla de escape de CSV. TEXT es un formato sencillo que usa un delimitador de columnas para separar los datos, sin escapar los delimitadores presentes en ellos.

No

TEXT

header

El encabezado que se escribirá en el archivo de texto. En modo script, puede configurar la información del encabezado. Por ejemplo, si establece este parámetro en "header":["id","name","age"], los valores id, name y age se escribirán como encabezado en la primera línea del archivo FTP.

No

Ninguna

markDoneFileName

  • El nombre del archivo de finalización. Cuando la tarea de sincronización de datos termina, el sistema genera este archivo. Revíselo para comprobar si la tarea fue exitosa. Debe especificar una ruta absoluta para este archivo.

  • Para las tareas por lotes periódicas, incluya un scheduling parameter en el nombre del archivo. Por ejemplo, puede establecer el nombre del archivo en /user/ftp/markDone_${bizdate}.txt, donde ${bizdate} es un parámetro de programación.

No

Ninguna