Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets conçu pour stocker et récupérer n'importe quelle quantité de données depuis n'importe où. L'intégration de données DataWorks vous permet de lire des données depuis Amazon S3 et d'y écrire des données. Cette rubrique décrit les fonctionnalités de la source de données Amazon S3 dans DataWorks.
Limites
Lecture par lots
Amazon S3 stocke des données non structurées. Dans Data Integration, le lecteur Amazon S3 prend en charge les fonctionnalités suivantes.
|
Pris en charge |
Non pris en charge |
|
|
Écriture par lots
Le writer Amazon S3 convertit les données du protocole de synchronisation des données en fichiers texte dans Amazon S3. Amazon S3 étant lui-même un magasin de données non structurées, le writer Amazon S3 prend en charge les fonctionnalités suivantes.
|
Pris en charge |
Non pris en charge |
|
|
Ajouter une source de données
Avant de développer une tâche de synchronisation dans DataWorks, vous devez ajouter la source de données requise à DataWorks en suivant les instructions fournies dans Configuration de la source de données. Vous pouvez consulter les descriptions des paramètres dans la console DataWorks pour comprendre la signification des paramètres lors de l'ajout d'une source de données.
Développer une tâche de synchronisation des données
Pour obtenir des informations sur le point d'entrée et la procédure de configuration d'une tâche de synchronisation, consultez les guides de configuration suivants.
Configurer une tâche de synchronisation par lots pour une seule table
Pour la procédure, consultez Configurer une tâche de synchronisation par lots à l'aide de l'interface sans code et Configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code.
Pour connaître l'ensemble des paramètres et voir un exemple de script pour le mode script, consultez Annexe : Exemple de script et description des paramètres.
Annexe : Exemple de script et description des paramètres
Configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code
Si vous souhaitez configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code, vous devez configurer les paramètres associés dans le script selon les exigences de format de script unifié. Pour plus d'informations, consultez Configuration en mode script. Les informations suivantes décrivent les paramètres que vous devez configurer pour les sources de données lors de la configuration d'une tâche de synchronisation par lots à l'aide de l'éditeur de code.
Exemple de script 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.
"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"
}
]
}
}
Paramètres du script Reader
|
Paramètre |
Description |
Obligatoire |
Valeur par défaut |
|
datasource |
Le nom de la source de données. Le mode script vous permet d'ajouter des sources de données. La valeur de ce paramètre doit être identique au nom de la source de données que vous ajoutez. |
Oui |
S.O. |
|
Object |
Les informations sur l'objet dans Amazon S3. Vous pouvez spécifier plusieurs objets. Par exemple, si le bucket contient un dossier test, et que ce dossier contient un fichier nommé ll.txt, définissez Object sur test/ll.txt.
Remarque
|
Oui |
S.O. |
|
column |
La liste des colonnes à lire. Le paramètre type spécifie le type de données des données source. Le paramètre index spécifie le numéro de colonne dans le fichier texte (à partir de 0). Le paramètre value indique que la colonne actuelle est une constante. Au lieu de lire les données à partir du fichier source, le système génère la colonne en fonction de la valeur spécifiée. Par défaut, vous pouvez lire toutes les données au type String. Exemple de configuration :
Vous pouvez également spécifier les informations de colonne. Exemple de configuration :
Remarque
Pour les informations de column que vous spécifiez, le type est obligatoire et vous devez spécifier soit index, soit value. |
Oui |
Toutes les données sont lues au type STRING. |
|
fieldDelimiter |
Le délimiteur de colonne pour la lecture des données. Remarque
Lorsque le lecteur Amazon S3 lit des données, vous devez spécifier un délimiteur de colonne. Si aucun délimiteur n'est spécifié, le délimiteur par défaut (,) est utilisé. Le délimiteur par défaut (,) est également utilisé dans l'interface sans code. Si le délimiteur est invisible, spécifiez l'encodage Unicode. Par exemple, \u001b ou \u007c. |
Oui |
Valeur par défaut : (,) |
|
compress |
Le type de compression. Par défaut, ce paramètre est vide, ce qui indique qu'aucune compression n'est appliquée. Les types de compression pris en charge sont gzip, bzip2 et zip. |
Non |
Aucune compression |
|
encoding |
L'encodage des fichiers à lire. |
Non |
utf-8 |
|
nullFormat |
Les chaînes standard dans les fichiers texte ne peuvent pas représenter null (pointeur nul). Le système de synchronisation des données utilise nullFormat pour définir quelles chaînes peuvent représenter null. Par exemple, si vous définissez |
Non |
S.O. |
|
skipHeader |
Pour les fichiers CSV, utilisez skipHeader pour spécifier s'il faut lire la ligne d'en-tête.
Remarque
skipHeader n'est pas pris en charge pour les fichiers compressés. |
Non |
false |
|
csvReaderConfig |
La configuration pour la lecture des fichiers CSV. Ce paramètre est de type Map. CsvReader est utilisé pour lire les fichiers CSV et propose diverses configurations. Si vous ne configurez pas ce paramètre, les valeurs par défaut sont utilisées. |
Non |
S.O. |
Exemple de script 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"
}
]
}
}
Paramètres du script Writer
|
Paramètre |
Description |
Obligatoire |
Valeur par défaut |
|
datasource |
Le nom de la source de données. Le mode script vous permet d'ajouter des sources de données. La valeur de ce paramètre doit être identique au nom de la source de données que vous ajoutez. |
Oui |
S.O. |
|
object |
Le nom de l'objet de destination. |
Oui |
S.O. |
|
fileFormat |
Les formats de fichier suivants sont pris en charge :
|
Oui |
text |
|
writeMode |
|
Oui |
append |
|
fieldDelimiter |
Le délimiteur de colonne pour l'écriture des données. |
Non |
Valeur par défaut : (,) |
|
lineDelimiter |
Le délimiteur de ligne pour l'écriture des données. |
Non |
Valeur par défaut : (\n) |
|
compress |
Le type de compression. Par défaut, ce paramètre est vide, ce qui indique qu'aucune compression n'est appliquée.
|
Non |
Aucune compression |
|
nullFormat |
Les chaînes standard dans les fichiers texte ne peuvent pas représenter null (pointeur nul). Le système de synchronisation des données utilise |
Non |
S.O. |
|
header |
L'en-tête à écrire. Exemple : |
Non |
S.O. |
|
writeSingleObject |
true : Écrit les données dans un seul fichier. false : Écrit les données dans plusieurs fichiers. Remarque
|
Non |
false |
|
encoding |
L'encodage des fichiers à écrire. |
Non |
utf-8 |
|
column |
La configuration des colonnes pour l'écriture des données.
|
Oui |
S.O. |