Todos los productos
Search
Centro de documentos

DataWorks:OSS-HDFS

Última actualización: Sep 04, 2026

OSS-HDFS Service (JindoFS Service) es un producto de almacenamiento de data lake nativo de la nube. Un origen de datos de OSS-HDFS proporciona un canal bidireccional para leer y escribir en OSS-HDFS. Este tema describe las capacidades de sincronización de datos que DataWorks ofrece para OSS-HDFS.

Capacidades compatibles

Capacidad

Compatible

Lectura sin conexión

Sí

Escritura sin conexión

Sí

Escritura en tiempo real

Sí

Limitaciones

Lectura sin conexión

La conexión de red desde un resource group hacia OSS-HDFS puede ser compleja. Para ejecutar tareas de sincronización de datos, utilice un Serverless resource group (recommended) o un exclusive resource group for Data Integration. Asegúrese de que su resource group pueda acceder a OSS-HDFS a través de la red.

OSS-HDFS Reader admite lo siguiente:

  • Archivos en formatos de texto, CSV, ORC y Parquet. El contenido del archivo debe ser una tabla lógica bidimensional.

  • Lectura de varios tipos de datos y constantes de columna.

  • Lecturas recursivas y los caracteres comodín * y ?.

  • Lecturas simultáneas desde varios archivos. El número real de hilos simultáneos corresponde al valor menor entre la cantidad de archivos por leer y la configuración de concurrent.

Importante

OSS-HDFS Reader no admite lecturas simultáneas con múltiples hilos desde un solo archivo debido al algoritmo interno de fragmentación para archivos individuales.

Escritura sin conexión

  • OSS-HDFS Writer solo admite los formatos de texto, ORC y Parquet. El contenido del archivo debe ser una tabla lógica bidimensional.

  • Para archivos de texto, asegúrese de que el delimitador de campos utilizado para la escritura coincida con el delimitador usado al crear la tabla de Hive. Esto garantiza que los datos escritos en OSS-HDFS se asignen correctamente a los campos de la tabla de Hive.

Escritura en tiempo real

  • Admite escrituras en tiempo real.

  • Admite escrituras en tiempo real para la versión 0.14.x del formato Hudi.

Tipos de campo compatibles

Lectura sin conexión

OSS-HDFS Reader convierte los tipos de datos de ParquetFile, ORCFile, TextFile y CsvFile a los tipos internos que admite Data Integration.

Categoría de tipo

Tipos de datos de OSS-HDFS

Entero

TINYINT, SMALLINT, INT, BIGINT

Punto flotante

FLOAT, DOUBLE, DECIMAL

Cadena

STRING, CHAR, VARCHAR

Fecha y hora

DATE, TIMESTAMP

Booleano

BOOLEAN

Nota

Los siguientes ejemplos ilustran las representaciones de tipos internos:

  • LONG: Datos enteros en un archivo de OSS-HDFS, como 123456789.

  • DOUBLE: Datos de punto flotante en un archivo de OSS-HDFS, como 3.1415.

  • BOOLEAN: Datos booleanos en un archivo de OSS-HDFS, como true o false. Los valores no distinguen entre mayúsculas y minúsculas.

  • DATE: Datos de fecha y hora en un archivo de OSS-HDFS, como 2014-12-31 00:00:00.

Escritura sin conexión

OSS-HDFS Writer escribe archivos en formatos TextFile, ORCFile y ParquetFile en una ruta especificada del sistema de archivos de OSS-HDFS.

Categoría de tipo

Tipos de datos de OSS-HDFS

Entero

TINYINT, SMALLINT, INT, BIGINT

Punto flotante

FLOAT, DOUBLE

Cadena

CHAR, VARCHAR, STRING

Booleano

BOOLEAN

Fecha y hora

DATE, TIMESTAMP

Agregar un origen de datos

Antes de desarrollar una tarea de sincronización en DataWorks, agregue el origen de datos necesario siguiendo las instrucciones en Gestión de orígenes de datos. Las descripciones de los parámetros están disponibles en la consola de DataWorks cuando agrega un origen de datos.

Desarrollar una tarea de sincronización de datos

Configurar una tarea de sincronización sin conexión para una sola tabla

Configurar una tarea de sincronización en tiempo real para una sola tabla

Consulte Configure real-time incremental synchronization for a single table y Configure a real-time synchronization task in DataStudio.

Configurar una tarea de sincronización en tiempo real completa e incremental para una base de datos completa

Consulte Configure a real-time synchronization task for an entire database.

Apéndice: Ejemplos de scripts y descripciones de parámetros

Ejemplo de script de Reader

Todos los parámetros siguen el formato de script unificado requerido por el editor de código. Para obtener detalles sobre el formato, consulte Configure a task in the code editor.

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "oss_hdfs",
            "parameter": {
                "path": "",
                "datasource": "",
                "column": [
                    {
                        "index": 0,
                        "type": "string"
                    },
                    {
                        "index": 1,
                        "type": "long"
                    },
                    {
                        "index": 2,
                        "type": "double"
                    },
                    {
                        "index": 3,
                        "type": "boolean"
                    },
                    {
                        "format": "yyyy-MM-dd HH:mm:ss",
                        "index": 4,
                        "type": "date"
                    }
                ],
                "fieldDelimiter": ",",
                "encoding": "UTF-8",
                "fileFormat": ""
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": ""
        },
        "speed": {
            "concurrent": 3,
            "throttle": true,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parámetros del script de Reader

Parámetro

Descripción

Obligatorio

Valor predeterminado

path

La ruta del archivo o directorio que se va a leer. Se admiten tres estilos de entrada: OPCIÓN 1: Archivo único — OSS-HDFS Reader utiliza un solo hilo para leer el archivo. OPCIÓN 2: Varios archivos — OSS-HDFS Reader lee los archivos de forma simultánea. El número real de hilos corresponde al valor menor entre la cantidad de archivos y la configuración de concurrent. Utilice patrones regex simples como /hadoop/data_201704*, o use scheduling parameters para nombres de archivo basados en tiempo. OPCIÓN 3: Ruta con comodines — OSS-HDFS Reader recorre los archivos coincidentes. Si especifica /, se leen todos los archivos del directorio raíz. Solo se admiten * y ? como caracteres comodín. Todos los archivos en un solo trabajo de sincronización se tratan como una única tabla de datos; asegúrese de que todos los archivos compartan el mismo esquema. El par de AccessKey configurado en el origen de datos debe tener permisos de lectura en la ruta correspondiente de OSS-HDFS.

Sí

Ninguna

fileFormat

El tipo de archivo. Valores válidos: text, orc, csv, parquet. OSS-HDFS Reader detecta automáticamente el tipo de archivo y aplica la política de lectura correspondiente. Antes de iniciar la sincronización, verifica que todos los archivos en la ruta especificada coincidan con el valor de fileFormat. La tarea falla si existe alguna discrepancia.

Sí

Ninguna

column

La lista de campos que se van a leer. Establezca ["*"] para leer todas las columnas como STRING. Para especificar columnas individuales, proporcione type y ya sea index (lee desde el archivo de datos, comenzando en 0) o value (genera una columna constante sin leer del archivo). Solo se puede establecer uno de los parámetros index o value por cada entrada de columna.

Sí

Ninguna

fieldDelimiter

El delimitador de campos para leer datos de TextFile. No es necesario para archivos ORC o Parquet.

No

,

encoding

La codificación del archivo.

No

utf-8

nullFormat

La cadena que se debe tratar como un valor nulo. Por ejemplo, al configurar nullFormat: "null", Data Integration trata la cadena de origen null como un campo nulo.

No

Ninguna

compress

El formato de compresión. Valores válidos: gzip, bzip2, snappy.

No

Ninguna

Ejemplo de script de Writer

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "oss_hdfs",
            "parameter": {
                "path": "",
                "fileName": "",
                "compress": "",
                "datasource": "",
                "column": [
                    {
                        "name": "col1",
                        "type": "string"
                    },
                    {
                        "name": "col2",
                        "type": "int"
                    },
                    {
                        "name": "col3",
                        "type": "double"
                    },
                    {
                        "name": "col4",
                        "type": "boolean"
                    },
                    {
                        "name": "col5",
                        "type": "date"
                    }
                ],
                "writeMode": "",
                "fieldDelimiter": ",",
                "encoding": "",
                "fileFormat": "text"
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": ""
        },
        "speed": {
            "concurrent": 3,
            "throttle": false
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parámetros del script de Writer

Parámetro

Descripción

Obligatorio

Valor predeterminado

fileFormat

El tipo de archivo. Valores válidos: text, orc, parquet.

Sí

Ninguna

path

La ruta en el sistema de archivos de OSS-HDFS donde se almacenan los datos. OSS-HDFS Writer escribe varios archivos en este directorio según la configuración de concurrencia. Al asociarlo con una tabla de Hive, especifique la ruta de almacenamiento de dicha tabla en OSS-HDFS.

Sí

Ninguna

fileName

El nombre base para los archivos de salida. Se añade un sufijo aleatorio a este nombre para cada hilo simultáneo con el fin de crear los nombres reales de los archivos.

Sí

Ninguna

column

Los campos que se van a escribir. No se admite la escritura en un subconjunto de columnas. Al asociarlo con una tabla de Hive, especifique todos los nombres y tipos de campos. Utilice name para el nombre del campo y type para el tipo de campo. No es necesario cuando fileFormat es parquet.

Sí (no es obligatorio si fileFormat es parquet)

Ninguna

writeMode

Define cómo maneja OSS-HDFS Writer los archivos existentes antes de escribir. OSS-HDFS Writer utiliza una estrategia de escritura y renombrado: primero se escriben los datos en un directorio temporal cuyo nombre sigue la regla path_random y luego se mueven a la ruta de destino una vez completadas todas las escrituras, garantizando nombres de archivo únicos. Después de moverlos, el directorio temporal se elimina automáticamente. Si se interrumpe la conexión, el directorio temporal y cualquier archivo parcialmente escrito no se limpian automáticamente; deberá eliminarlos manualmente antes de reintentar la operación. Valores válidos: append — escribe directamente sin procesamiento previo, lo que garantiza que no haya conflictos de nombres de archivo. nonConflict — reporta un error si ya existe un archivo con el prefijo fileName en el directorio. truncate — elimina todos los archivos que coinciden con el prefijo fileName antes de escribir (por ejemplo, si fileName es abc, primero se eliminan todos los archivos que comienzan con abc en el directorio).

Sí

Ninguna

fieldDelimiter

El delimitador de campos para los archivos de salida. Solo se admiten delimitadores de un solo carácter; el uso de varios caracteres provoca un error en tiempo de ejecución. No es necesario cuando fileFormat es parquet.

Sí (no es obligatorio si fileFormat es parquet)

Ninguna

compress

El formato de compresión para archivos de texto. Valores válidos: gzip, bzip2. Déjelo en blanco para escribir sin compresión.

No

Ninguna

encoding

La codificación del archivo.

No

utf-8

parquetSchema

La definición de esquema para los archivos de salida Parquet. Solo surte efecto cuando fileFormat es parquet. Utilice el siguiente formato: `message {

optional> ; ... }`. Tipos de datos admitidos: BOOLEAN, INT32, INT64, INT96, FLOAT, DOUBLE, BINARY (utilice BINARY para tipos de cadena), FIXED_LEN_BYTE_ARRAY. Use optional para campos que aceptan valores nulos y required para campos que no aceptan nulos. Se recomienda establecer todos los campos como optional. Cada definición de fila debe terminar con punto y coma, incluida la última. Ejemplo: message m { optional int64 id; optional binary username; optional int32 status; }

No

Ninguna