Amazon Simple Storage Service (Amazon S3) es un servicio de object storage diseñado para almacenar y recuperar cualquier volumen de datos desde cualquier ubicación. Data Integration de DataWorks le permite leer datos de Amazon S3 y escribirlos en este servicio. Este tema describe las funciones del origen de datos de Amazon S3 en DataWorks.
Límites
Lectura por lotes
Amazon S3 almacena datos no estructurados. En Data Integration, el reader de Amazon S3 es compatible con las a continuación funciones.
|
Compatible |
No compatible |
|
|
Escritura por lotes
El writer de Amazon S3 convierte los datos del protocolo de sincronización en archivos de texto dentro de Amazon S3. Dado que Amazon S3 es un almacenamiento de datos no estructurados, su writer es compatible con las a continuación funciones.
|
Compatible |
No compatible |
|
|
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 los 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 de configuración de una tarea de sincronización, consulte las a continuación guías de configuración.
Configurar una tarea de sincronización por lotes de una sola tabla
Siga el procedimiento descrito en Configure a batch synchronization task by using the codeless UI y Configure a batch synchronization task by using the code editor.
Revise todos los parámetros y el ejemplo de script del modo script en Appendix: Script demo and parameter description.
Apéndice: ejemplo de script 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 de formato unificado. 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.
Ejemplo de script de Reader
{
"type":"job",
"version":"2.0",// The version number.
"steps":[
{
"stepType":"s3",// The plug-in name.
"parameter":{
"nullFormat":"",// The string that represents a null value.
"compress":"",// The compression type.
"datasource":"",// The data source name.
"column":[// The columns.
{
"index":0,// The column index.
"type":"string"// The data type.
},
{
"index":1,
"type":"long"
},
{
"index":2,
"type":"double"
},
{
"index":3,
"type":"boolean"
},
{
"format":"yyyy-MM-dd HH:mm:ss", // The time format.
"index":4,
"type":"date"
}
],
"skipHeader":"",// Specifies whether to skip the header row of a CSV-like file.
"encoding":"",// The encoding format.
"fieldDelimiter":",",// The column delimiter.
"fileFormat": "",// The file format. Valid values: csv, text, parquet, orc, json, and jsonl.
"object":[]// The object prefix.
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":""// The error count.
},
"speed":{
"throttle":true,// Specifies whether to enable throttling. A value of false indicates that throttling is disabled and the mbps parameter does not take effect. A value of true indicates that throttling is enabled.
"concurrent":1 // The concurrency.
"mbps":"12",// The throttling rate. 1 mbps = 1 MB/s.
}
},
"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 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 |
|
Object |
Información del objeto en Amazon S3. Puede especificar varios objetos. Por ejemplo, si el bucket contiene una carpeta de prueba y esta incluye un archivo llamado ll.txt, establezca Object como test/ll.txt.
Nota
|
Sí |
N/A |
|
column |
Lista de columnas por leer. El parámetro type indica el tipo de dato de origen:
De forma predeterminada, todos los datos se pueden leer como tipo String. Configuración de ejemplo:
También puede especificar la información de las columnas. Configuración de ejemplo:
Nota
En la información de column que especifique, el parámetro type es obligatorio. Para el formato CSV/TEXT, indique index o value. Para el formato JSON/JSONL, indique jsonPath o value. |
Sí |
Todos los datos se leen como tipo STRING. |
|
fieldDelimiter |
Delimitador de columnas para la lectura de datos. Nota
Cuando el reader de Amazon S3 lee datos, debe especificar un delimitador de columnas. Si no se indica ninguno, se usa el delimitador predeterminado (,). Este mismo delimitador (,) también se aplica en la interfaz sin código. Si el delimitador es invisible, especifique la codificación Unicode. Por ejemplo, \u001b o \u007c. |
Sí |
Valor predeterminado: (,) |
|
compress |
Tipo de compresión. 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 gzip, bzip2 y zip. |
No |
Sin compresión |
|
encoding |
Codificación de los archivos por leer. |
No |
utf-8 |
|
nullFormat |
Las cadenas estándar de los archivos de texto no pueden representar un valor nulo (puntero nulo). El sistema de sincronización de datos utiliza nullFormat para definir qué cadenas representan un valor nulo. Por ejemplo, si establece |
No |
N/A |
|
skipHeader |
Para los archivos CSV, use skipHeader para indicar si se debe leer la fila de encabezado.
Nota
skipHeader no es compatible con archivos comprimidos. |
No |
false |
|
csvReaderConfig |
Configuración para la lectura de archivos CSV. Este parámetro es de tipo Map. CsvReader se encarga de leer los archivos CSV y ofrece diversas opciones de configuración. Si no configura este parámetro, se aplican los valores predeterminados. |
No |
N/A |
Ejemplo de script de Writer
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "stream",
"parameter": {},
"name": "Reader",
"category": "reader"
},
{
"stepType": "s3",
"category": "writer",
"name": "Writer",
"parameter": {
"datasource": "datasource1",
"object": "test/csv_file.csv",
"fileFormat": "csv",
"encoding": "utf8/gbk/...",
"fieldDelimiter": ",",
"lineDelimiter": "\n",
"column": [
"0",
"1"
],
"header": [
"col_bigint",
"col_tinyint"
],
"writeMode": "truncate",
"writeSingleObject": true
}
}
],
"setting": {
"errorLimit": {
"record": "" // The error count.
},
"speed": {
"throttle": true, // Specifies whether to enable throttling. A value of false indicates that throttling is disabled and the mbps parameter does not take effect. A value of true indicates that throttling is enabled.
"concurrent": 1 // The concurrency.
"mbps": "12", // The throttling rate. 1 mbps = 1 MB/s.
}
},
"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ó. |
Sí |
N/A |
|
object |
Nombre del objeto de destino. |
Sí |
N/A |
|
fileFormat |
Se admiten los a continuación formatos de archivo:
|
Sí |
text |
|
writeMode |
|
Sí |
append |
|
fieldDelimiter |
Delimitador de columnas para la escritura de datos. |
No |
Valor predeterminado: (,) |
|
lineDelimiter |
Delimitador de líneas para la escritura de datos. |
No |
Valor predeterminado: (\n) |
|
compress |
Tipo de compresión. De forma predeterminada, este parámetro se deja vacío, lo que indica que no se aplica ninguna compresión.
|
No |
Sin compresión |
|
nullFormat |
Las cadenas estándar de los archivos de texto no pueden representar un valor nulo (puntero nulo). El sistema de sincronización de datos utiliza |
No |
N/A |
|
header |
Encabezado por escribir. Ejemplo: |
No |
N/A |
|
writeSingleObject |
true: escribe los datos en un solo archivo. false: escribe los datos en varios archivos. Nota
|
No |
false |
|
encoding |
Codificación de los archivos por escribir. |
No |
utf-8 |
|
column |
Configuración de columnas para la escritura de datos.
|
Sí |
N/A |