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 |
|
|
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 |
|
|
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
Para obtener más información sobre el procedimiento de configuración, consulte Configure a batch synchronization task using the Codeless UI y Configure a batch synchronization task using script mode.
Para consultar todos los parámetros y un script de ejemplo que permiten configurar una tarea por lotes en modo script, consulte Appendix: Script sample and parameter description.
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.
Nota
|
Sí |
Ninguna |
|
column |
La lista de columnas que se van a leer.
De forma predeterminada, puede leer todos los datos como tipo STRING mediante la configuración
Para el parámetro column especificado, debe definir |
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
|
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 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 |
No |
false |
|
writeMode |
El modo para limpiar los datos antes de escribirlos.
|
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 Por ejemplo, si configura |
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 |
No |
Ninguna |
|
markDoneFileName |
|
No |
Ninguna |