Read from Variable Format File lit des données à partir d'un fichier contenant des enregistrements dont la mise en page varie. Chaque enregistrement est lu en tant que champ de liste. Vous pouvez spécifier la balise qui indique le type d'enregistrement parent et tous les autres types d'enregistrement deviendront des champs de liste sous le parent.
Les fichiers de format variable présentent les caractéristiques suivantes :
- Les enregistrements dans le fichier contiennent des champs différents et des nombres de champs différents.
- Chaque enregistrement doit contenir une balise (généralement un nombre) identifiant le type d'enregistrement.
- Les relations hiérarchiques sont prises en charge.
Exemple de fichier au format variable
Cet exemple présente un fichier de format variable contenant des informations sur la vérification de l'activité de compte de deux clients, Joe Smith et Anne Johnson. Dans cet exemple, le fichier est un fichier délimité qui utilise la virgule comme délimiteur de champ.
001 Joe,Smith,M,100 Main St,555-234-1290 100 CHK12904567,12/2/2007,6/1/2012,CHK 200 1000567,1/5/2012,Fashion Shoes,323.12 001 Anne,Johnson,F,1202 Lake St,555-222-4932 100 CHK238193875,1/21/2001,4/12/2012,CHK 200 1000232,3/5/2012,Blue Goose Grocery,132.11 200 1000232,3/8/2012,Trailway Bikes,540.00
Le premier champ dans chaque enregistrement contient la balise qui identifie le type d'enregistrement et, par conséquent, le format de l'enregistrement :
- 001 : enregistrement de client
- 100 : enregistrement de compte
- 200 : enregistrement de transaction de compte
Pour les fichiers délimités, il est courant que la valeur de balise (001, 100, 200) consiste en un nombre d'octets fixe au début de l'enregistrement, comme indiqué dans l'exemple ci-dessus.
Chaque enregistrement est doté de son propre format :
- 001 : Prénom,Nomdefamille,Sexe,Adresse,NuméroTéléphone
- 100 : IDdeCompte,DateD'ouverture,DateD'expiration,TypeDeCompte
- 200 : IDdeTransaction,DateDeTransaction,Fournisseur,Montant
Le format d'enregistrement 100 (enregistrement de compte) est un enfant de l'enregistrement 001 précédent et le format d'enregistrement 200 (enregistrement de transaction de compte) est un enfant de l'enregistrement 100 précédent (enregistrement de compte). Ainsi, dans le fichier d'exemple, le compte de Joe Smith, CHK12904567, présentait une transaction datant du 05/01/12 d'un montant de 323,12 chez Fashion Shoes. De même, le compte d'Anne Johnson, CHK238193875, présentait deux transactions, l'une du 05/03/12 chez Blue Goose Grocery et l'autre du 08/03/12 chez Trailway Bikes.
Onglet de propriétés du fichier
Nom de l'option | Description |
---|---|
Server name | Indique si le fichier que vous sélectionnez comme entrée figure sur l'ordinateur exécutant Spectrum Enterprise Designer ou sur le serveur Spectrum Technology Platform. Si vous sélectionnez un fichier sur l'ordinateur local, le nom du serveur sera Mon ordinateur. Si vous sélectionnez un fichier sur le serveur, le nom du serveur sera Spectrum Technology Platform. |
Nom de fichier | Indique le chemin du fichier. Cliquez sur le bouton d'ellipse (...) pour accéder au fichier souhaité. Vous pouvez lire plusieurs fichiers en utilisant un caractère générique pour lire les données de plusieurs fichiers du répertoire. Les caractères génériques * et ? sont pris en charge. Par exemple, vous pouvez utiliser *.csv pour lire tous les fichiers portant une extension Lors de la lecture d'un fichier à partir d'un serveur de fichiers HDFS, les formats de compression pris en charge sont les suivants :
Remarque : L'extension du fichier indique le format de compression à utiliser pour décompresser le fichier.
Avertissement : Si le Spectrum Technology Platform est en cours d'exécution sur les systèmes Linux, rappelez-vous que les noms de fichiers et les chemins sur ces plates-formes sont sensibles à la casse.
|
Type d'enregistrement | Le format des enregistrements dans le fichier. Sélectionnez l'un des éléments suivants :
|
Chiffrement de caractères | L'encodage du fichier texte. Pour plus d'informations, reportez-vous à la section Chiffrements de caractères. |
Longueur d'enregistrement |
Pour les fichiers à largeur fixe, précise le nombre exact de caractères dans chaque enregistrement. |
Séparateur de champs | Indique le caractère utilisé pour séparer des champs dans un fichier délimité. Par exemple, cet enregistrement utilise une barre verticale (|) comme séparateur de champ :
Ces caractères disponibles à définir en tant que séparateurs de champs sont :
Si le fichier utilise un caractère différent comme séparateur de champ, cliquez sur le bouton de sélection pour sélectionner un autre caractère délimiteur. |
Séparateur de balises | Indique le caractère placé après le champ de balise pour démarquer le champ d'identification pour chaque enregistrement dans un fichier délimité. Un séparateur de balises doit être un caractère unique. Par défaut, les caractères suivants sont disponibles comme séparateurs de balises :
Si le fichier utilise un caractère différent comme séparateur de balises, cliquez sur le bouton d'ellipse pour ajouter et sélectionner un séparateur de balises personnalisé. Remarque : Par défaut, le caractère Séparateur d'enregistrements est le même que le caractère Séparateur de champs sélectionné. Pour activer ce champ et sélectionner un caractère différent, décochez la case Identique au séparateur de champs.
|
Identique au séparateur de champs | Indique si le séparateur de balises est le même que le séparateur de champs. Décochez cette case pour sélectionner un caractère différent comme séparateur de balises. Remarque : Par défaut, cette case est cochée et le champ Séparateur de balises est désactivé.
|
Qualificateur de texte | Le caractère utilisé pour entourer les valeurs de texte dans un fichier délimité. Par exemple, cet enregistrement utilise des guillemets doubles (") en tant que qualificateur de texte. Ces caractères disponibles à définir en tant que qualificateurs de texte sont :
Si le fichier utilise un délimiteur de texte, cliquez sur le bouton de sélection pour sélectionner un autre caractère délimiteur. |
Séparateur d'enregistrements | Indique le caractère utilisé pour séparer des enregistrements dans un fichier séquentiel ligne par ligne ou délimité. Ce champ n'est pas disponible si vous activez la case Utiliser EOL par défaut. Les paramètres de séparateur d’enregistrements disponibles sont :
Si votre fichier utilise un séparateur d'enregistrement, cliquez sur le bouton de sélection pour sélectionner un autre caractère séparateur. |
Nom de la balise racine |
Balise à utiliser pour les enregistrements qui représentent la valeur parent d'autres types d'enregistrement. Par exemple, si vous disposez de trois types d'enregistrement 001, 100 et 200, et que les types d'enregistrement 100 et 200 sont les enfants du type d'enregistrement 001, 001 est la balise racine. |
Utiliser des balises de largeur fixe |
Détermine si une quantité fixe d'espace doit être allouée au début de chaque enregistrement afin d'y placer la balise d'enregistrement. Cet exemple montre un fichier avec les balises 001, 100 et 200 dans un champ de largeur fixe : |
Position de départ de la balise |
Si vous cochez la case Utiliser des balises de largeur fixe, cette option spécifie la position dans chaque enregistrement dans lequel la balise commence. Par exemple, si la balise commence au quatrième caractère de l'enregistrement, vous indiquerez 4. |
Largeur de balise |
Si vous cochez la case Utiliser des balises de largeur fixe, cette option indique le nombre d'espaces à allouer pour les balises commençant à la position indiquée dans le champ Tag start position. Par exemple, si vous indiquez 3 dans le champ Tag start position et 7 dans le champ Tag width, les positions 4 à 10 seront prises en considération dans la balise de l'enregistrement. La valeur que vous indiquez doit être suffisamment élevée pour inclure tous les caractères du nom de balise le plus long. La valeur dans le champ Tag width est automatiquement augmentée si vous allongez le nom dans le champ Root tag name. La largeur de balise maximale est de 1 024. |
Utiliser EOL par défaut | Indique que le séparateur d'enregistrements du fichier est le caractère de fin de ligne (EOL) par défaut utilisé sur le système d'exploitation sur lequel le serveur Spectrum Technology Platform est exécuté. Ne sélectionnez pas cette option si le fichier utilise un caractère EOL qui est différent du caractère EOL par défaut utilisé sur le système d'exploitation du serveur. Par exemple, si le fichier utilise un EOL Windows, mais que le serveur fonctionne sous Linux, ne cochez pas cette option. Au lieu de cela, sélectionnez l'option Windows dans le champ Record separator. |
Traiter les enregistrements comportant moins de champs que ceux définis comme malformés |
Si vous activez cette option, le format des enregistrements enfant contenant moins de champs qu'un enregistrement complet est considéré incorrect. Lorsqu'un enregistrement au format incorrect est détecté, le traitement passe à la balise racine suivante, en ne tenant pas compte de toutes les balises enfant intermédiaires. Une exception est écrite dans le journal contenant des informations sur les enregistrements enfant au format incorrect accompagnés d'un numéro de ligne. Les enregistrements sont toujours considérés comme non conformes dans ces situations, que vous activiez cette option ou non.
|
Onglet Champs
L'onglet Champs spécifie les caractéristiques de chaque champ lu à partir du fichier.
L'onglet Exécution
Nom du champ | Description |
---|---|
Nom de fichier |
Affiche le nom de fichier sélectionné dans le premier onglet. |
Enregistrement de début |
Si vous voulez ignorer les enregistrements au début du fichier lors de la lecture des enregistrements dans le dataflow, spécifiez le premier enregistrement que vous souhaitez lire. Par exemple, si vous voulez sauter les 50 premiers enregistrements dans un fichier, spécifiez 51. Le 51ème enregistrement sera le premier enregistrement lu dans le dataflow. |
Tous les enregistrements |
Sélectionnez cette option si vous souhaitez lire tous les enregistrements à partir de l'enregistrement spécifié dans le champ Starting record jusqu'à la fin du fichier. |
Nombre max. d'enregistrements |
Sélectionnez cette option si vous souhaitez uniquement lire un certain nombre d'enregistrements à partir de l'enregistrement spécifié dans le champ Starting record. Par exemple, si vous voulez lire les 100 premiers enregistrements, sélectionnez cette option et entrez 100. |