Configuration de l'utilitaire de chargement de données pour l'exécution du préprocesseur des différences entre les fichiers

Si vous chargez régulièrement le même fichier d'entrée de chargement de données généré depuis un système ou une source externe, vous pouvez choisir d'exécuter le préprocesseur des différences entre les fichiers dans le cadre du processus de chargement de données pour vous assurer de charger uniquement les nouvelles modifications lorsque vous chargez votre fichier d'entrée le plus récent.

Remarque : L'exécution du préprocesseur des différences entre les fichiers n'est pas requise. Si vous prévoyez de configurer l'identification des différences entre les fichiers, prenez connaissance des meilleures pratiques et des scénarios relatifs à l'exécution de ce préprocesseur décrit dans la rubrique Exécution du préprocesseur des différences entre les fichiers de chargement de données.

Avant de commencer

Avant de configurer et d'exécuter le préprocesseur des différences entre les fichiers, assurez-vous d'avoir effectué les étapes prérequises suivantes :
  • Identifiez les deux fichiers d'entrée de chargement de données à comparer et pour lesquels générer un fichier de différences.
  • Chargez l'ancien fichier d'entrée dans votre base de données HCL Commerce. Si des enregistrements se trouvent dans l'ancien fichier et dans le nouveau fichier auquel l'ancien fichier est comparé, ils n'apparaîtront pas dans le fichier de différences généré ou dans votre base de données. Pour éviter que des enregistrements ne soient jamais chargés dans votre base de données, vérifiez que le contenu de l'ancien fichier est chargé dans votre base de données.

Pourquoi et quand exécuter cette tâche

Un outil de comparaison des fichiers est disponible sous la forme d'un préprocesseur de lecteur de données lorsque vous exécutez l'utilitaire de chargement de données. Ce préprocesseur des différences entre les fichiers peut être utilisé pour lire et comparer deux fichiers CSV ou XML. Il utilise une classe de lecteur de données différente pour lire les fichiers CSV (CSVFileDiffPreprocessor) et les fichiers XML (XmlFileDiffPreprocessor) ; par conséquent, vous ne pouvez pas comparer un fichier CSV à un fichier XML.

Propriétés de configuration pour le préprocesseur des différences entre les fichiers

Par défaut, plusieurs propriétés de configuration sont disponibles pour configurer le préprocesseur afin qu'il réponde à vos besoins. Le tableau ci-dessous répertorie les propriétés disponibles. Ces propriétés sont toutes spécifiées dans le fichier de configuration de l'ordre de chargement, sauf la propriété keyColumns, qui doit être spécifiée dans le fichier de configuration d'objet métier.
Propriété de configuration Description
keyColumns Obligatoire. Les colonnes de clé sont des colonnes CSV ou des éléments XML qui identifient un enregistrement dans votre fichier d'entrée de façon unique.
numberOfSplitFiles Facultatif. Utilisez cette propriété pour spécifier en combien de fichiers les fichiers d'entrées doivent être fractionnés lorsque l'ancien fichier d'entrée est trop volumineux pour être stocké dans la mémoire.

Il est recommandé de spécifier numberOfSplitFiles dans le fichier de configuration afin d'éviter tout calcul supplémentaire par le préprocesseur des différences entre les fichiers. Ainsi, si votre ancien fichier d'entrée n'est pas volumineux (moins de 200 Mo par exemple), vous pouvez associer numberOfSplitFiles à la valeur 1. Voir la note dans la procédure ci-après relative à la définition de cette propriété pour des détails sur le nombre de fichiers de fractionnement à spécifier.

checkDuplicatedKeys Facultatif. Associez cette propriété à la valeur true pour procéder à une vérification supplémentaire des entrées en double.

Il est recommandé d'associer checkDuplicatedKeys à la valeur false si vous savez qu'il n'existe pas d'enregistrements en double dans vos fichiers d'entrée. Ce paramètre évite au préprocesseur des différences entre les fichiers d'effectuer une vérification supplémentaire.

diffFileDirectory Facultatif. Cette propriété permet de changer le répertoire dans lequel le fichier de différences généré est sauvegardé.
dataReaderPreprocessOnly Facultatif. Associez cette propriété à la valeur true pour arrêter le processus de chargement de données une fois le fichier de différences généré et sauvegardé.
cleanupSplitFiles Facultatif. Si vos fichiers d'entrée sont fractionnés, vous pouvez associer cette propriété à la valeur false pour sauvegarder les fichiers plus petits temporaires générés. Si cette propriété a pour valeur true ou est omise, les fichiers plus petits générés sont supprimés une fois fusionnés.
columnBasedCompare Facultatif. Indique si le préprocesseur doit utiliser une comparaison reposant sur les colonnes pour comparer les fichiers. Vous pouvez définir les valeurs suivantes pour cette propriété :
true
Chaque ligne dans les fichiers est comparée colonne par colonne et non avec les enregistrements complets. Le préprocesseur détermine si la valeur figurant dans la même colonne dans les deux fichiers est la même. Il peut ignorer les différences mineures, comme les contenus de fichier suivant :
  • Les mêmes colonnes existent dans les deux fichiers, mais dans un ordre différent.
  • Des virgules supplémentaires existent à la fin d'un enregistrement dans un fichier, mais pas dans l'autre.
  • Des guillemets existent pour une valeur de colonne dans un fichier, mais pas dans l'autre.
    Remarque : la différence relative aux guillemets dans les fichiers ne concerne que les fichiers CSV, par exemple pour les jetons CSV. Si un enregistrement dans un fichier XML n'inclut pas de guillemets alors qu'il en contient dans l'autre fichier XML, le préprocesseur considère que l'enregistrement est différent.
false
Valeur par défaut. Le préprocesseur compare les enregistrements complets dans chaque fichier ligne par ligne. Si les colonnes sont disposées différemment, il peut considérer que tous les enregistrements sont différents. Il considère également que les enregistrements sont différents lorsque des différences mineures sont détectées, par exemple lorsqu'il trouve des virgules supplémentaires à la fin d'un enregistrement.
Remarque : l'exécution de la configuration d'une comparaison reposant sur les colonnes peut être plus longue que l'application du comportement par défaut du préprocesseur des différences entre les fichiers. Avec une comparaison reposant sur les colonnes, le préprocesseur doit exécuter une recherche supplémentaire dans les fichiers.
includeCompareColumns Facultatif. Indique si le préprocesseur des différences entre les fichiers doit comparer des colonnes spécifiques seulement. Utilisez une liste d'éléments séparés par une virgule comme valeur pour cette propriété afin d'identifier les colonnes à comparer. Les colonnes qui ne figurent pas dans cette liste sont ignorées au cours de la comparaison des fichiers. Lorsque vous incluez cette propriété, la propriété columnBasedCompare est configurée par défaut avec la valeur true si elle n'est pas configurée explicitement.

Si vous incluez à la fois la propriété includeCompareColumns et la propriété excludeCompareColumns, la propriété includeCompareColumns est prioritaire.

Si vous incluez la propriété includeCompareColumns sans valeur et la propriété excludeCompareColumns avec une valeur, la propriété excludeCompareColumns est prioritaire.

Remarque : Si vous incluez la propriété includeCompareColumns sans définir de valeur, et que la propriété excludeCompareColumns n'est pas non plus associée à une valeur, le préprocesseur des différences entre les fichiers compare les colonnes de clé seulement. Dans ce cas, le fichier de différences généré inclut uniquement les enregistrements provenant du nouveau fichier d'entrée dont la valeur de colonne de clé ne figure pas dans l'ancien fichier d'entrée.
excludeCompareColumns Facultatif. Indique si le préprocesseur des différences entre les fichiers doit exclure des colonnes spécifiques de la comparaison. Utilisez une liste d'éléments séparés par une virgule comme valeur pour cette propriété afin d'identifier les colonnes à exclure de la comparaison. Toutes les autres colonnes sont comparées. Lorsque vous incluez cette propriété, la propriété columnBasedCompare est configurée par défaut avec la valeur true si elle n'est pas configurée explicitement.

Si vous incluez à la fois la propriété includeCompareColumns et la propriété excludeCompareColumns, la propriété includeCompareColumns est prioritaire.

Si vous incluez la propriété excludeCompareColumns sans définir de valeur, le préprocesseur des différences entre les fichiers l'ignore.

Configuration de l'identification des différences entre les fichiers pour la gestion de fichiers d'entrée volumineux

Le préprocesseur des différences entre les fichiers charge l'ancien fichier d'entrée dans une mappe de hachage dans votre mémoire système et compare cette mappe de hachage au nouveau fichier d'entrée afin de générer un fichier de différences. Si l'ancien fichier est trop volumineux pour être chargé dans votre mémoire système, le préprocesseur des différences entre les fichiers le fractionne en fichiers plus petits. Le nouveau fichier d'entrée est également fractionné en fichiers plus petits (le même nombre). Le préprocesseur génère un fichier de différences pour chaque paire de ces fichiers plus petits, puis fusionne ces fichiers en un fichier de différences unique plus grand.

Par défaut, le préprocesseur des différences entre les fichiers détermine automatiquement le nombre de fichiers de fractionnement d'un ficher volumineux. Vous pouvez choisir de configurer le nombre de fichiers de fractionnement pour vos fichiers d'entrée volumineux. Si vous configurez cette propriété, assurez-vous de spécifier un nombre de fichiers suffisamment élevé pour que tous les enregistrements du fichier d'entrée puissent être stockés dans la mémoire.

Le fractionnement des fichiers d'entrée en fichiers plus petits nécessite un certain temps de traitement et une certaine quantité d'espace disque. Si votre système dispose d'une mémoire physique suffisante et utilise une machine virtuelle Java 64 bits, il suffit d'augmenter la taille de segment de mémoire maximale de la machine virtuelle Java pour gérer les fichiers d'entrée volumineux. Si votre système dispose d'une mémoire suffisante et que le préprocesseur ne fractionne pas les fichiers d'entrée, le fichier de différences peut être généré plus rapidement. Pour plus d'informations sur l'optimisation des performances de la machine virtuelle Java, notamment de la taille de segment de mémoire de la machine virtuelle Java, voir Réglage des performances de la machine virtuelle Java.

Procédure

  1. Mettez à jour le fichier de configuration d'objet métier du chargement de données pour votre objet métier afin d'inclure le préprocesseur des différences entre les fichiers lorsque l'utilitaire de chargement de données s'exécute.
    1. Ouvrez le fichier de configuration wc-loader-object.xml, où object est l'objet utilisateur métier que vous chargez.
      Par exemple, wc-loader-catalog-entries.xml.
    2. Définissez la propriété keyColumns requise pour l'objet de données que vous chargez.

      Pour exécuter le préprocesseur des différences entre les fichiers, vous devez spécifier les colonnes de clé pour vos fichiers d'entrée dans l'élément de lecteur de données du fichier de configuration d'objet métier de chargement de données. Ces colonnes de clé sont les colonnes CSV ou les éléments XML qui identifient un enregistrement dans votre fichier d'entrée de façon unique.

      • Fichiers CSV :
        <_config:DataReader className="com.ibm.commerce.foundation.dataload.datareader.CSVReader" firstLineIsHeader="true" useHeaderAsColumnName="true" >
          <_config:property name="keyColumns" value="key_columns" />
        </_config:DataReader>
        
      • Fichiers XML :
        <_config:DataReader className="com.ibm.commerce.foundation.dataload.datareader.XmlReader" >
          <_config:property name="keyColumns" value="key_columns" />
        </_config:DataReader>
        

      Lorsque le code est en gras, il s'agit de l'ajout de la configuration pour la propriété keyColumns. Remplacez la valeur "key_columns" par la liste des colonnes ou des éléments qui sont requis pour identifier de manière unique un enregistrement dans vos fichiers d'entrée. Si plusieurs colonnes ou éléments sont requis pour identifier un enregistrement, séparez ces colonnes de clé par une virgule. Par exemple, si vous chargez des entrées de catalogue, votre fichier de configuration d'objet métier peut spécifier une colonne de clé unique, PartNumber.

    3. Sauvegardez et fermez votre fichier.
  2. Mettez à jour le fichier de configuration de l'ordre de chargement des données pour que l'ordre de chargement identifie l'emplacement des fichiers à comparer. Pour exécuter le préprocesseur des différences entre les fichiers, vous devez identifier deux fichiers.
    Exemple : la version chargée précédemment et la version plus récente d'un fichier.

    Lorsque vous spécifiez oldLocation pour un fichier, vous indiquez que le préprocesseur des différences entre les fichiers doit être exécuté. Le type de fichier que vous identifiez pour la comparaison détermine le lecteur de données (CSV ou XML) que le préprocesseur doit utiliser.

    1. Ouvrez le fichier de configuration wc-dataload-object.xml, où object est l'objet utilisateur métier que vous chargez.
      Par exemple, wc-dataload-catalog-entries.xml.
    2. Ajoutez l'instruction de configuration qui identifie l'emplacement de répertoire dans lequel se trouvent l'ancien fichier d'entrée et le nouveau fichier d'entrée :
      <_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
         <_config:DataSourceLocation location="new_file_location" oldLocation="old_file_location" />
      </_config:LoadItem>
      
      Où le code en gras ajoute la configuration pour l'identification des emplacements de fichier d'entrée. Remplacez la valeur new_file_location par la valeur pour votre nouveau fichier d'entrée et remplacez la valeur old_file_location par la valeur pour l'ancien fichier d'entrée (chargé précédemment). Par exemple,
       <_config:DataSourceLocation location="CatalogEntry_new.csv" oldLocation="CatalogEntry_old.csv" />
    3. Facultatif : Ajoutez une instruction de configuration pour changer le répertoire dans lequel le fichier de différences généré est sauvegardé. Par défaut, ce fichier est sauvegardé dans le répertoire qui contient le nouveau fichier d'entrée identifié. Il est sauvegardé sous le nom de fichier du nouveau fichier d'entrée, auquel est ajouté la chaîne _diff_ et un horodatage.
      Par exemple, si votre nouveau fichier d'entrée s'appelle catentry.xml, le fichier de différences généré s'appelle catentry_diff_2012.01.01_12.01.01.001.xml.
      <_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
        <_config:property name="diffFileDirectory" value="difference_file_directory" />
        <_config:DataSourceLocation location="CatalogEntry_new.csv" oldLocation="CatalogEntry_old.csv" />
      </_config:LoadItem>
      
      Où le code en gras ajoute la configuration pour le changement de répertoire. Remplacez la valeur difference_file_directory par la valeur correspondant à votre répertoire. Par exemple,
      <_config:property name="diffFileDirectory" value="c:\dataload" />
    4. Facultatif : Ajoutez l'instruction de configuration permettant d'arrêter le processus de chargement de données une fois le fichier de différences généré et enregistré. Si vous voulez passer en revue le fichier de différences généré avant le chargement de ce fichier, ajoutez cette propriété de configuration. Cette configuration vous offre la possibilité de générer le fichier de différences à tout moment, puis de charger les données sur votre système lorsque l'exécution de l'utilitaire de chargement de données a le moins d'incidence sur les performances de votre système.
      <_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
        <_config:property name="dataReaderPreprocessOnly" value="true"/>
        <_config:DataSourceLocation location="new_file_location" oldLocation="old_file_location" />
      </_config:LoadItem>
      
      Lorsque le code est en gras, il s'agit de l'ajout de la propriété de configuration pour l'exécution seule du préprocesseur des différences entre les fichiers. Si vous définissez cette propriété sur la valeur true, l'utilitaire de chargement de données cesse son exécution une fois le fichier de différences généré et enregistré. La valeur par défaut de cette propriété est false, ce qui implique la poursuite du processus de chargement de données une fois le fichier de différences sauvegardé et chargé dans votre base de données.
    5. Facultatif : Ajoutez l'instruction de configuration pour spécifier en combien de fichiers les fichiers d'entrée doivent être fractionnés lorsque l'ancien fichier d'entrée est trop volumineux pour être stocké dans la mémoire. Si vous fractionnez ce fichier, chaque nouveau fichier issu du fractionnement de l'ancien fichier d'entrée d'origine est comparé au nouveau fichier. Un fichier de différences plus petit est généré pour chaque comparaison du nouveau fichier et des parties de l'ancien fichier d'entrée. Le préprocesseur des différences entre les fichiers fusionne ensuite les fichiers de différences générés en un fichier unique.
      <_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
        <_config:property name="numberOfSplitFiles" value="number_of_files" />
        <_config:DataSourceLocation location="new_file_location" oldLocation="old_file_location" />
      </_config:LoadItem>
      
      Lorsque le code est en gras, il s'agit de l'ajout de la configuration pour la propriété numberOfSplitFiles. Remplacez la valeur "number_of_files" par le nombre de fichiers de fractionnement pour l'ancien fichier d'entrée. Par exemple, l'instruction suivante configure le préprocesseur des différences entre les fichiers pour qu'il fractionne l'ancien fichier d'entrée en trois fichiers :
       <_config:property name="numberOfSplitFiles" value="3" />
      Remarque : Si vous ne spécifiez pas cette propriété, le préprocesseur des différences entre les fichiers calcule le nombre de fichiers requis pour le fractionnement de vos fichiers d'entrée. Ce calcul s'appuie sur une estimation de la mémoire requise pour charger l'ancien fichier dans une mappe de hachage. Vous pouvez exécuter le préprocesseur des différences entre les fichiers en activant la trace suivante afin d'afficher le temps nécessaire au préprocesseur pour effectuer ce calcul ainsi que le nombre de fichiers de fractionnement de vos fichiers d'entrée :
      -Dcom.ibm.commerce.foundation.dataload.level=CONFIG 
      Vous pouvez utiliser cette sortie de trace pour spécifier la valeur de la propriété numberOfSplitFiles lors de la prochaine identification des différences entre les fichiers pour des versions plus récentes de vos fichiers d'entrée. En déterminant la valeur de cette propriété dans cette méthode, vous pouvez réduire le temps nécessaire au préprocesseur pour calculer cette valeur automatiquement lorsqu'il s'exécute.
    6. Facultatif : Ajoutez l'instruction de configuration pour effectuer une vérification supplémentaire des entrées en double. Si vous savez que vos fichiers d'entrée ne contiennent aucune clé en double, vous pouvez désactiver cette vérification supplémentaire.
      <_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
        <_config:property name="checkDuplicatedKeys" value="false" />
        <_config:DataSourceLocation location="new_file_location" oldLocation="old_file_location" />
      </_config:LoadItem>
      
      Lorsque le code est en gras, il s'agit de l'ajout de la propriété de configuration pour l'exécution d'une vérification supplémentaire des valeurs de colonne de clé en double lors de l'exécution du préprocesseur des différences entre les fichiers. Si vous définissez cette propriété sur la valeur false, aucune vérification supplémentaire de valeurs de clé en double ne s'exécute. Si vous ne spécifiez pas cette propriété, la valeur par défaut est true, ce qui se traduit par une vérification supplémentaire des valeurs de clé en double.
    7. Facultatif : Si le préprocesseur des différences entre les fichiers fractionne des fichiers d'entrée afin de gérer des fichiers volumineux, les fichiers de différences générés plus petits sont supprimés une fois fusionnés. Si vous avez besoin de ces fichiers à des fins de débogage, vous pouvez ajouter une instruction de configuration afin que le préprocesseur de différences de fichier enregistre les fichiers temporaires et qu'il ne les supprime pas automatiquement.
      <_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
         <_config:property name="cleanupSplitFiles" value="false" />
        <_config:DataSourceLocation location="new_file_location" oldLocation="old_file_location" />
      </_config:LoadItem>
      
      Lorsque le code est en gras, il s'agit de l'ajout de la configuration pour la propriété cleanupSplitFiles. Si vous définissez la valeur de cette propriété sur false, les fichiers temporaires ne sont pas supprimés une fois les fichiers fusionnés. La valeur par défaut de la propriété est true.
    8. Facultatif : Configurez le préprocesseur des différences entre les fichiers afin d'effectuer une comparaison reposant sur les colonnes des enregistrements figurant dans les fichiers au lieu de comparer chaque enregistrement complet en tant que chaîne. Avec la comparaison reposant sur les colonnes, la disposition des colonnes ou des éléments XML dans les fichiers peut être ignorée. La comparaison reposant sur les colonnes vous permet également de définir les colonnes à comparer en configurant le préprocesseur afin d'inclure ou d'exclure des colonnes spécifiques. Si vos fichiers incluent des colonnes ou des éléments XML qui sont disposés différemment dans les fichiers, configurez le préprocesseur pour qu'il utilise la comparaison reposant sur les colonnes.
      Ajoutez la propriété columnBasedCompare à la configuration du lecteur de données afin de configurer le préprocesseur pour qu'il utilise la comparaison reposant sur les colonnes. Par exemple :
      <_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
        <_config:property name="dataReaderPreprocessOnly" value="true"/>
        <_config:property name="columnBasedCompare" value="true" />
        <_config:DataSourceLocation location="c:/temp/dataload/samples/CatalogEntryNew.csv" oldLocation="c:/temp/dataload/samples/CatalogEntryOld.csv" />
      </_config:LoadItem>
      
      Lorsque vous configurez une comparaison reposant sur les colonnes, vous pouvez configurer le préprocesseur pour qu'il ignore des colonnes spécifiques ou pour comparer uniquement des colonnes spécifiques. Vous devez indiquer les colonnes à exclure ou à inclure dans la comparaison dans une liste dont les éléments sont séparés par une virgule. Les noms de colonne sont sensibles à la casse et doivent correspondre aux en-têtes de colonne dans les deux fichiers.
      • Pour spécifier une liste de colonnes à exclure de la comparaison, ajoutez la propriété excludeCompareColumns à la configuration du lecteur de données. Par exemple, la configuration suivante exclut les colonnes ListPrice, Price et Thumbnail de la comparaison lors de l'identification des différences entre les fichiers :
        <_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
          <_config:property name="dataReaderPreprocessOnly" value="true"/>
          <_config:property name="columnBasedCompare" value="true" />
          <_config:property name="excludeCompareColumns" value="ListPrice, Price, Thumbnail" />
          <_config:DataSourceLocation location="c:/temp/dataload/samples/CatalogEntryNew.csv" oldLocation="c:/temp/dataload/samples/CatalogEntryOld.csv" />
        </_config:LoadItem>
        
      • Pour spécifier la liste des seules colonnes à comparer, ajoutez la propriété includeCompareColumns à la configuration du lecteur de données. Par exemple, la configuration ci-après indique que le préprocesseur des différences entre les fichiers ne doit comparer que les colonnes PartNumber, ShortDescription et LongDescription. Les autres colonnes ne sont pas comparées :
        <_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
          <_config:property name="dataReaderPreprocessOnly" value="true"/>
          <_config:property name="columnBasedCompare" value="true" />
          <_config:property name="includeCompareColumns" value="PartNumber, ShortDescription, LongDescription" />
          <_config:DataSourceLocation location="c:/temp/dataload/samples/CatalogEntryNew.csv" oldLocation="c:/temp/dataload/samples/CatalogEntryOld.csv" />
        </_config:LoadItem>
        
    9. Sauvegardez et fermez votre fichier.
  3. Exécutez l'utilitaire pour l'utilitaire de chargement de données. Le préprocesseur des différences entre les fichiers s'exécute et génère et sauvegarde le fichier de différences. Selon vos configurations, l'utilitaire de chargement de données peut ensuite charger le fichier de différences ou arrêter le processus de chargement de données pour que vous puissiez passer en revue le fichier de différences et le charger ultérieurement.

Exemple

L'exemple ci-dessous montre comment configurer votre fichier de configuration d'objet métier afin d'identifier les différences entre les deux fichiers suivants : Pour exécuter le préprocesseur des différences entre les fichiers afin de comparer ces fichiers sans charger le fichier de différences généré, votre fichier de configuration d'objet métier peut être similaire au code suivant :
<_config:DataLoadConfiguration xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/foundation/config ../xsd/wc-dataload.xsd">
  <_config:DataLoadEnvironment configFile="wc-dataload-env.xml"/>
  <_config:LoadOrder commitCount="100" batchSize="1" dataLoadMode="Replace" >
    <_config:LoadItem name="CatalogEntry" businessObjectConfigFile="wc-loader-catalog-entry.xml" >
      <_config:property name="dataReaderPreprocessOnly" value="true"/>
      <_config:DataSourceLocation location="c:/temp/dataload/samples/CatalogEntryNew.csv" oldLocation="c:/temp/dataload/samples/CatalogEntryOld.csv" />
    </_config:LoadItem>
  </_config:LoadOrder>
</_config:DataLoadConfiguration>
Dans cet exemple de fichier de configuration, les deux fichiers se trouvent dans un répertoire exemple temporaire. Une fois l'exécution du préprocesseur terminée, le fichier de différences généré, CatalogEntryNew_diff_2013.03.28_12.01.01.001.csv, est sauvegardé dans le même répertoire temporaire. Cet exemple inclut la propriété de configuration dataReaderPreprocessOnly qui indique que l'utilitaire de chargement de données doit exécuter le préprocesseur des différences entre les fichiers uniquement. Pour exécuter le préprocesseur, le fichier de configuration spécifie que l'utilitaire de chargement de données doit être exécuté en mode remplacement.