Todos los productos
Search
Centro de documentos

DataWorks:Origen de datos TOS

Última actualización: Sep 06, 2026

El origen de datos TOS permite leer archivos de TOS. Con este origen de datos puede recuperar los archivos almacenados en TOS, analizarlos sintácticamente y sincronizar la información hacia cualquier origen de datos de destino. En este tema se describen las capacidades de sincronización de datos que DataWorks admite para TOS.

Límites

El origen de datos TOS es compatible con a continuación tipos de columna en DataWorks.

Tipo de dato

Descripción

STRING

Tipo de texto.

LONG

Tipo entero.

BYTES

Matriz de bytes. Convierte el contenido de texto leído en una matriz de bytes codificada en UTF-8.

BOOL

Tipo booleano.

DOUBLE

Tipo de punto flotante.

DATE

Tipo de fecha y hora. Se admiten a continuación formatos de fecha y hora:

  • YYYY-MM-dd HH:mm:ss

  • yyyy-MM-dd

  • HH:mm:ss

Crear un origen de datos TOS

Antes de desarrollar una tarea de sincronización en DataWorks, debe agregar el origen de datos obligatorio a DataWorks con 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 al agregar un origen de datos.

Desarrollar una tarea de sincronización de datos

El origen de datos TOS solo se utiliza como origen en tareas de sincronización por lotes de tabla única. A continuación se describe el punto de entrada y el proceso general de configuración de las tareas de sincronización de datos.

Apéndice: script de demostración y parámetros

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

Si desea configurar una tarea de sincronización por lotes mediante el editor de código, debe establecer los parámetros correspondientes en el script según los requisitos unificados de formato de scripts. Para obtener más información, consulte Script mode configuration. La siguiente información describe los parámetros que debe configurar para los orígenes de datos cuando configura una tarea de sincronización por lotes mediante el editor de código.

Script de demostración de 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 del script de Reader

Parámetro

Descripción

Obligatorio

Valor predeterminado

datasource

Nombre del origen de datos. El modo script admite agregar orígenes de datos. El valor de este parámetro debe coincidir con el nombre del origen de datos agregado.

Sí

Ninguna

fileFormat

Tipo de archivo de origen. Tipos compatibles: csv, text, parquet, orc, json y jsonl.

Sí

Ninguna

object

Ruta del archivo. Este parámetro se utiliza cuando fileFormat se establece en csv, text, json o jsonl. Admite el comodín * y se configura como una matriz.

Por ejemplo, para sincronizar los dos archivos a/b/1.csv y a/b/2.csv, configure a/b/*.csv.

Sí

Obligatorio cuando fileFormat se establece en csv, text, json o jsonl.

Ninguna

column

Lista de columnas que se van a leer. type especifica el tipo de dato de origen:

  • Formato CSV/TEXT: index indica de qué columna del texto proviene la columna actual (comenzando desde 0) y value define un valor constante.

  • Formato JSON/JSONL: utilice jsonPath para definir una expresión JSONPath que extraiga campos, mientras que value define un valor constante.

  • De forma predeterminada, todos los datos se leen como tipo String. La configuración es la siguiente.

    column": ["*"]
  • Especifique la información de la columna de la siguiente manera.

    // CSV/TEXT format
    "column":    
        {       
            "type": "long",       
            "index": 0 //Get the int field from the first column of the TOS text.
        },    
        {       
            "type": "string",       
            "value": "alibaba" //Generate the string field 'alibaba' internally from TOS as the current field.    
    }
    // JSON/JSONL format
    "column":    
        {       
            "name": "id",       
            "jsonPath": "$.id",       
            "type": "LONG"
        },    
        {       
            "name": "name",       
            "jsonPath": "$.user.name",       
            "type": "STRING"
        },    
        {       
            "name": "source",       
            "value": "tos",       
            "type": "STRING"    
    }
Nota

En la información de column que especifique, type es obligatorio. Para el formato CSV/TEXT, elija entre index o value. Para el formato JSON/JSONL, elija entre jsonPath o value.

Sí

Todo se lee como STRING.

fieldDelimiter

Delimitador de campos para la lectura.

Nota
  • Cuando TOS Reader lee datos, debe especificar un delimitador de campos. Si no lo especifica, el valor predeterminado es la coma (,), que también se completa previamente en la configuración de la interfaz de usuario.

  • Si el delimitador no es visible, introduzca el código Unicode. Por ejemplo: \u001b o \u007c.

Sí

,

lineDelimiter

Delimitador de filas para la lectura.

Nota

Este parámetro solo surte efecto cuando fileFormat se establece en text.

No

Ninguna

compress

Tipo de compresión de texto. De forma predeterminada está vacío (sin compresión). Tipos de compresión compatibles: gzip, bzip2 y zip.

No

No compression

encoding

Codificación utilizada para leer el archivo.

No

utf-8

nullFormat

Los archivos de texto no definen null (puntero nulo) mediante una cadena estándar. El sistema de sincronización de datos proporciona nullFormat para definir qué cadenas se tratan como null. Por ejemplo:

  • Si establece nullFormat:"null", equivale a un "carácter visible". Si los datos de origen son null, la sincronización de datos los trata como un campo nulo.

  • Si establece nullFormat:"\u0001", equivale a un "carácter invisible". Si los datos de origen son la cadena "\u0001", la sincronización de datos los trata como un campo nulo.

  • Si no se especifica "nullFormat", equivale a "no configurado". Esto significa que los datos de origen se escriben en el destino tal cual, sin conversión.

No

Ninguna

skipHeader

En archivos CSV, utilice skipHeader para controlar si se lee el encabezado.

  • True: lee el encabezado al sincronizar el origen de datos.

  • False: no lee el encabezado al sincronizar el origen de datos.

Nota

skipHeader no es compatible con el modo de archivo comprimido.

No

false

parquetSchema

Configure este parámetro cuando lea TOS en formato de archivo Parquet. Solo surte efecto cuando fileFormat es parquet y describe el tipo de almacenamiento de los datos Parquet. Asegúrese de que toda la configuración cumpla con la sintaxis JSON después de completar parquetSchema.

message MessageTypeName {
required or optional, data type, column name;
......................;
}
  • El formato de parquetSchema se describe a continuación:

    • Nombre de MessageType: introduzca un nombre.

    • Requerido o no: required indica que no acepta valores nulos y optional indica que sí los acepta. Se recomienda establecer todo como optional.

    • Tipo de dato: los archivos Parquet admiten BOOLEAN, Int32, Int64, Int96, FLOAT, DOUBLE, BINARY (utilice BINARY para el tipo string) y fixed_len_byte_array.

    • Cada línea de columna debe terminar con un punto y coma, incluida la última línea.

  • Ejemplo de configuración:

    "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; }"

No

Ninguna

csvReaderConfig

Parámetros de configuración para leer archivos CSV, definidos como tipo Map. La lectura de archivos CSV utiliza csvReader. Si no se configuran, se usan los valores predeterminados.

No

Ninguna