DataWorks proporciona Azure Blob Storage Reader y Azure Blob Storage Writer para leer y escribir datos en archivos almacenados en Azure Blob Storage. Con Azure Blob Storage Reader, acceda a los archivos almacenados en Azure Blob Storage, analice sintácticamente sus datos y sincronícelos hacia un destino. También utilice Azure Blob Storage Writer para escribir datos desde cualquier origen hacia Azure Blob Storage. Este tema describe las funciones de sincronización de datos desde y hacia orígenes de datos de Azure Blob Storage.
Limitaciones
El origen de datos de Azure Blob Storage es compatible con los siguientes tipos de datos.
|
Tipo de dato |
Descripción |
|
STRING |
Texto. |
|
LONG |
Entero. |
|
BYTES |
Matriz de bytes. El texto leído se convierte en una matriz de bytes. El formato de codificación es UTF-8. |
|
BOOL |
Booleano. |
|
DOUBLE |
Punto flotante. |
|
DATE |
Fecha y hora. Se admiten los siguientes formatos de fecha y hora:
|
Agregar un origen de datos
Antes de desarrollar una tarea de sincronización en DataWorks, agregue el origen de datos necesario mediante 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
Para conocer el punto de entrada y el procedimiento para configurar una tarea de sincronización, consulte las siguientes guías de configuración.
Configurar una tarea de sincronización por lotes para sincronizar datos de una sola tabla
Siga el procedimiento descrito en Configure a synchronization task in the codeless UI y Configure a synchronization task by using the code editor.
Para ver todos los parámetros y el script de ejemplo del editor de código, consulte Appendix: Script demo and parameter description más adelante.
Apéndice: script de ejemplo y descripción de 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, configure 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. A continuación se describen los parámetros que debe configurar para los orígenes de datos cuando utiliza el editor de código.
Script de ejemplo de Reader
A continuación se muestra un ejemplo de configuración en el editor de código para leer datos de Azure Blob Storage. En el lado del writer se usa stream como marcador de posición. Reemplácelo con la configuración del origen de datos de destino real.
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "azureblob",
"parameter": {
"datasource": "",
"object": ["f/z/1.csv"],
"fileFormat": "csv",
"encoding": "utf8/gbk/...",
"fieldDelimiter": ",",
"useMultiCharDelimiter": true,
"lineDelimiter": "\n",
"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 editor de código permite agregar orígenes de datos. El valor de este parámetro debe coincidir con el nombre del origen de datos que agregó. |
Sí |
N/A |
|
fileFormat |
Tipo del archivo de origen. Valores válidos: |
Sí |
N/A |
|
object |
Ruta del archivo. Este parámetro se utiliza cuando fileFormat se establece en csv, text, json o jsonl. Nota
Este parámetro admite el comodín Por ejemplo, para sincronizar los archivos |
Sí Obligatorio cuando fileFormat se establece en csv, text, json o jsonl. |
Ninguna |
|
path |
Ruta del archivo. Este parámetro se utiliza cuando fileFormat se establece en parquet u orc. Nota
Este parámetro admite el comodín Por ejemplo, para sincronizar los archivos |
Sí Obligatorio cuando fileFormat se establece en parquet u orc. |
Ninguna |
|
column |
Lista de campos que se van a leer. El parámetro type especifica el tipo de dato de los datos de origen:
De forma predeterminada, todos los datos se pueden leer como tipo STRING. Ejemplo de configuración:
También es posible especificar la información de los campos de la columna. Ejemplo de configuración:
Nota
En la información de column que especifique, el campo type es obligatorio. Para el formato CSV/TEXT, especifique index o value. Para el formato JSON/JSONL, especifique jsonPath o value. |
Sí |
Todos los datos se leen como tipo STRING. |
|
fieldDelimiter |
Delimitador de campos utilizado para leer los datos. Nota
|
Sí |
, |
|
lineDelimiter |
Delimitador de líneas utilizado para leer los datos. Nota
Este parámetro solo surte efecto cuando fileFormat se establece en text. |
No |
N/A |
|
compress |
Tipo de compresión para archivos de texto. De forma predeterminada, este parámetro se deja vacío, lo que indica que no se aplica ninguna compresión. Los tipos de compresión compatibles son |
No |
Sin compresión |
|
encoding |
Configuración de codificación para leer archivos. |
No |
utf-8 |
|
nullFormat |
Las cadenas estándar no permiten definir null (puntero nulo) en archivos de texto. El sistema de sincronización de datos proporciona nullFormat para definir qué cadenas representan null. Por ejemplo:
|
No |
N/A |
|
skipHeader |
Para archivos CSV, use skipHeader para especificar si se debe leer el encabezado.
Nota
skipHeader no es compatible con el modo de archivo comprimido. |
No |
false |
|
parquetSchema |
Este parámetro se configura cuando lee datos de Azure Blob Storage en formato de archivo Parquet. Solo surte efecto cuando fileFormat se establece en parquet y especifica la descripción de tipos del almacenamiento Parquet. Asegúrese de que la configuración general cumpla con la sintaxis JSON después de especificar parquetSchema.
El formato de configuración de parquetSchema se describe a continuación:
El siguiente ejemplo muestra la configuración.
|
No |
N/A |
|
csvReaderConfig |
Configuración de parámetros para leer archivos CSV. El valor es de tipo Map. CsvReader se utiliza para leer archivos CSV. Si no configura este parámetro, se utilizan los valores predeterminados. |
No |
N/A |
|
maxRetryTimes |
Número máximo de reintentos cuando falla la descarga de un archivo. Nota
|
No |
0 |
|
retryIntervalSeconds |
Intervalo entre reintentos cuando falla la descarga de un archivo. Unidad: segundos. Nota
Este parámetro solo se puede configurar en el modo de editor de código. No es compatible con la interfaz de usuario sin código. |
No |
5 |
Script de ejemplo de Writer
El siguiente ejemplo muestra una configuración en modo script para escribir datos en Azure Blob Storage. En el lado del reader se usa stream como marcador de posición. Reemplácelo con la configuración real del origen de datos de origen.
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "azureblob",
"parameter": {
"datasource": "",
"fileFormat": "csv",
"object": "dir/example.csv",
"fieldDelimiter": ",",
"lineDelimiter": "\n",
"encoding": "UTF-8",
"nullFormat": "null",
"dateFormat": "yyyy-MM-dd",
"writeMode": "truncate",
"maxFileSize": 100,
"writeSingleObject": false
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 1
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}
Parámetros del script de Writer
|
Parámetro |
Descripción |
Obligatorio |
Valor predeterminado |
|
datasource |
Nombre del origen de datos. El modo script permite agregar orígenes de datos. El valor de este parámetro debe coincidir con el nombre del origen de datos que agregó. El origen de datos debe configurarse con la URL SAS y la firma (sig) del contenedor de Azure Blob Storage. |
Sí |
N/A |
|
object |
Nombre del archivo en el que Azure Blob Storage Writer escribe los datos, incluido el prefijo de ruta. Los directorios se simulan mediante nombres de archivo, y el delimitador es una barra diagonal (/).
|
Sí |
N/A |
|
writeMode |
Especifica cómo Azure Blob Storage Writer procesa los datos existentes antes de escribir:
|
Sí |
Ninguna |
|
writeSingleObject |
Especifica si los datos se escriben en un solo archivo:
Nota
Este parámetro no surte efecto cuando escribe datos en formato Parquet u ORC. |
No |
false |
|
fileFormat |
Formato en el que se escriben los archivos. Valores válidos:
|
No |
text |
|
fieldDelimiter |
Delimitador de campos utilizado para escribir. Este parámetro es válido para los formatos csv y text. Si no lo especifica, se utiliza la coma (,) como delimitador predeterminado. Si el delimitador es invisible, introduzca la codificación Unicode, como |
No |
, |
|
encoding |
Codificación del archivo de salida. |
No |
utf-8 |
|
nullFormat |
Null (puntero vacío) no se puede definir mediante cadenas estándar en archivos de texto. El sistema de sincronización de datos proporciona el parámetro nullFormat para definir qué cadenas se pueden tratar como null. Por ejemplo, si configura |
No |
\N |
|
dateFormat |
Formato utilizado para dar formato a los datos de tipo fecha. |
No |
|
|
header |
Encabezado del archivo de salida. Por ejemplo: |
No |
N/A |
|
blockSizeInMB |
Tamaño de cada bloque en MB cuando los datos de Block Blob se cargan en bloques. Azure Block Blob admite un máximo de 50,000 bloques, y el tamaño de cada bloque varía de 4 MB a 100 MB. Si la cantidad de bloques supera el límite, aumente el tamaño del bloque para permitir la carga de archivos más grandes. Nota Este parámetro solo es compatible con el modo avanzado, no con el modo de interfaz de usuario sin código. Este parámetro solo surte efecto para los formatos text, csv y jsonl. |
No |
64 |
|
parquetSchema |
Este parámetro es obligatorio cuando los datos se escriben en formato de archivo Parquet. Describe la estructura del archivo de destino y solo surte efecto cuando fileFormat se establece en parquet. El formato es el siguiente. El formato de configuración de parquetSchema se describe a continuación:
El siguiente ejemplo muestra una configuración de muestra.
|
No |
N/A |
|
column |
Información de la columna de destino configurada al escribir datos en formato Parquet u ORC. Formato: |
No |
N/A |
|
compress |
Formato de compresión para escribir archivos Parquet u ORC, como |
No |
N/A |
|
maxRetryTimes |
Número máximo de reintentos tras errores de escritura, incluidos la carga de bloques, la confirmación de listas de bloques y la eliminación de objetos. Establezca este parámetro en 0 para deshabilitar los reintentos. Nota Este parámetro solo está disponible en el modo script y no se puede configurar en el modo de interfaz de usuario sin código. |
No |
30 |
|
retryIntervalSeconds |
Intervalo entre reintentos tras errores de escritura. Unidad: segundos. Este parámetro solo está disponible en el modo script y no se puede configurar en el modo de interfaz de usuario sin código. |
No |
5 |
|
requestTimeoutSeconds |
Tiempo de espera de una sola solicitud. Unidad: segundos. Este parámetro solo está disponible en el modo script y no se puede configurar en el modo de interfaz de usuario sin código. |
No |
60 |