DataWorks prend en charge FTP en tant que source de données pour la lecture et l'écriture de données sur des serveurs FTP.
Limites
FTP Reader lit les données à partir de fichiers FTP distants et les convertit selon le protocole Data Integration. Les fichiers FTP distants sont stockés sous forme de données non structurées.
|
Pris en charge |
Non pris en charge |
|
|
FTP Writer convertit les données selon le protocole Data Integration et les écrit dans des fichiers sur un serveur FTP.
|
Pris en charge |
Non pris en charge |
|
|
Types de données pris en charge
Les fichiers FTP distants ne possèdent pas de types de données natifs. Les types de données sont définis par FTP Reader dans Data Integration.
|
Type Data Integration |
Type FTP |
|
LONG |
LONG |
|
DOUBLE |
DOUBLE |
|
STRING |
STRING |
|
BOOLEAN |
BOOLEAN |
|
DATE |
DATE |
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 la rubrique 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 ci-dessous.
Synchronisation par lot de table unique
Pour plus d'informations sur la procédure de configuration, consultez les rubriques Configurer une tâche de synchronisation par lot à l'aide de l'interface sans code et Configurer une tâche de synchronisation par lot en mode script.
Pour connaître tous les paramètres et voir un exemple de script pour la configuration d'une tâche par lot en mode script, consultez la section Annexe : Exemple de script et description des paramètres.
Annexe : Exemple de script et paramètres
Configurer une tâche de synchronisation par lot à l'aide de l'éditeur de code
Si vous souhaitez configurer une tâche de synchronisation par lot à l'aide de l'éditeur de code, vous devez configurer les paramètres associés dans le script en respectant les exigences de format de script unifié. Pour plus d'informations, consultez la rubrique 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 lot à l'aide de l'éditeur de code.
Exemple de script Reader
{
"type":"job",
"version":"2.0",// Version number.
"steps":[
{
"stepType":"ftp",// Plug-in name.
"parameter":{
"path":[],// File path.
"nullFormat":"",// Null value.
"compress":"",// Compression format.
"datasource":"",// Data source.
"column":[// Columns.
{
"index":0,// ID.
"type":""// Data type.
}
],
"skipHeader":"",// Specifies whether to include a header.
"fieldDelimiter":",",// Column delimiter.
"encoding":"UTF-8",// Encoding format.
"fileFormat":"csv"// File format.
},
"name":"Reader",
"category":"reader"
},
{
"stepType":"stream",
"parameter":{},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// Maximum number of allowed dirty data records.
},
"speed":{
"throttle":true,// If false, the mbps parameter is ignored and no throttling is applied. If true, throttling is applied based on the mbps value.
"concurrent":1, // Job concurrency.
"mbps":"12"// 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 |
Nom de la source de données, qui doit correspondre au nom de la source de données configurée dans DataWorks. |
Oui |
Aucune |
|
path |
Chemin du fichier source sur le système de fichiers FTP distant. Vous devez spécifier le chemin complet du fichier source, y compris l'extension du fichier. Vous pouvez spécifier plusieurs chemins.
Remarque
|
Oui |
Aucune |
|
column |
Liste des colonnes à lire. Par défaut, vous pouvez lire toutes les données au format STRING à l'aide de la configuration
Pour la column spécifiée, vous devez spécifier |
Oui |
Aucune |
|
fieldDelimiter |
Délimiteur utilisé pour séparer les colonnes dans les fichiers source. Remarque
Vous devez spécifier un délimiteur pour que FTP Reader puisse lire les données. Si vous ne spécifiez pas de délimiteur, la virgule (,) par défaut est utilisée. Dans l'interface utilisateur, une virgule (,) est également spécifiée par défaut. |
Oui |
, |
|
skipHeader |
Un fichier de type CSV peut comporter un en-tête. Vous pouvez ignorer l'en-tête. Par défaut, l'en-tête n'est pas ignoré. Ce paramètre n'est pas pris en charge pour les fichiers compressés. |
Non |
false |
|
encoding |
Encodage des fichiers source. |
Non |
utf-8 |
|
nullFormat |
Les fichiers texte ne peuvent pas utiliser de chaînes standard pour les valeurs nulles (pointeurs null). Utilisez
|
Non |
Aucune |
|
markDoneFileName |
Nom du fichier de fin de traitement. Avant le début d'une tâche de synchronisation des données, le système vérifie si le fichier de fin de traitement existe. Si le fichier n'existe pas, le système attend pendant une période donnée puis effectue une nouvelle vérification. La tâche ne démarre qu'après la détection du fichier. |
Non |
Aucune |
|
maxRetryTime |
Nombre de tentatives pour la vérification du fichier de fin de traitement. La valeur par défaut est 60. L'intervalle entre les tentatives est de 1 minute, ce qui entraîne un temps d'attente total de 60 minutes. |
Non |
60 |
|
csvReaderConfig |
Paramètres utilisés pour lire les fichiers CSV. La valeur doit être de type Map. Les fichiers CSV sont lus par CsvReader. Plusieurs configurations sont disponibles. Si vous ne configurez pas ce paramètre, les valeurs par défaut sont utilisées. |
Non |
Aucune |
|
fileFormat |
Format des fichiers source. Par défaut, les fichiers sont lus en tant que fichiers CSV et traités comme des tables logiques bidimensionnelles. Si vous définissez ce paramètre sur Ce paramètre est généralement utilisé pour la mise en miroir des structures de répertoires entre des systèmes de stockage tels que FTP et OSS. Dans la plupart des cas, vous n'avez pas besoin de configurer ce paramètre. |
Non |
Aucune |
Exemple de script Writer
{
"type":"job",
"version":"2.0",// Version number.
"steps":[
{
"stepType":"stream",
"parameter":{},
"name":"Reader",
"category":"reader"
},
{
"stepType":"ftp",// Plug-in name.
"parameter":{
"path":"",// File path.
"fileName":"",// File name.
"nullFormat":"null",// Null value.
"dateFormat":"yyyy-MM-dd HH:mm:ss",// Date format.
"datasource":"",// Data source.
"writeMode":"",// Write mode.
"fieldDelimiter":",",// Column delimiter.
"encoding":"",// Encoding format.
"fileFormat":""// File format.
},
"name":"Writer",
"category":"writer"
}
],
"setting":{
"errorLimit":{
"record":"0"// Maximum number of allowed dirty data records.
},
"speed":{
"throttle":true,// If false, the mbps parameter is ignored and no throttling is applied. If true, throttling is applied based on the mbps value.
"concurrent":1, // Job concurrency.
"mbps":"12"// 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 |
Nom de la source de données, qui doit correspondre au nom de la source de données configurée dans DataWorks. |
Oui |
Aucune |
|
timeout |
Délai d'expiration pour la connexion au serveur FTP. Unité : millisecondes. |
Non |
60 000 (1 minute) |
|
path |
Chemin de destination sur le système de fichiers FTP. FTP Writer écrit plusieurs fichiers dans le répertoire spécifié par ce paramètre. |
Oui |
Aucune |
|
fileName |
Nom du fichier dans lequel FTP Writer écrit les données. Un suffixe aléatoire est ajouté à ce nom de fichier pour créer le nom de fichier réel pour chaque thread. |
Oui |
Aucune |
|
singleFileOutput |
Par défaut, FTP Writer ajoute un suffixe aléatoire au |
Non |
false |
|
writeMode |
Mode d'effacement des données avant l'écriture.
|
Oui |
Aucune |
|
fieldDelimiter |
Délimiteur utilisé pour séparer les colonnes dans les fichiers de destination. |
Oui (un seul caractère) |
Aucune |
|
skipHeader |
Les fichiers de type CSV peuvent comporter des en-têtes qu'il faut ignorer. Par défaut, les en-têtes ne sont pas ignorés. Les fichiers compressés ne prennent pas en charge le paramètre skipHeader. |
Non |
false |
|
compress |
Formats de compression pris en charge : gzip et bzip2. |
Non |
Pas de compression |
|
encoding |
Encodage des fichiers de destination. |
Non |
utf-8 |
|
nullFormat |
Les fichiers texte ne peuvent pas utiliser de chaînes standard pour les valeurs nulles (pointeurs null). Utilisez Par exemple, si vous configurez |
Non |
Aucune |
|
dateFormat |
Format de sérialisation des données de type DATE dans un fichier. Exemple : "dateFormat":"yyyy-MM-dd". |
Non |
Aucune |
|
fileFormat |
Format des fichiers de destination. Valeurs valides : CSV et TEXT. CSV est un format strict. Si les données à écrire contiennent un délimiteur de colonne, les données sont échappées avec des guillemets doubles (") selon la règle d'échappement CSV. TEXT est un format simple qui utilise un délimiteur de colonne pour séparer les données. Les délimiteurs présents dans les données ne sont pas échappés. |
Non |
TEXT |
|
header |
En-tête à écrire dans le fichier texte. En mode script, vous pouvez configurer les informations d'en-tête. Par exemple, vous pouvez définir ce paramètre sur "header":["id","name","age"]. Dans ce cas, |
Non |
Aucune |
|
markDoneFileName |
|
Non |
Aucune |