La modification de champs et l'affectation de valeurs est un composant de traitement des données destiné aux tâches de synchronisation en temps réel sur table unique dans DataWorks Data Integration. Ajoutez ce composant à une tâche pour créer des champs lors de la synchronisation, leur attribuer des valeurs et les écrire dans la destination.
Prérequis
Créez une source de données. Pour plus d'informations, consultez la rubrique Gestion des sources de données.
-
Créez une tâche Data Integration. Pour plus d'informations, consultez la rubrique Configuration d'une tâche de synchronisation en temps réel sur table unique.
RemarquePour les tâches Data Integration de synchronisation en temps réel sur table unique, vous pouvez ajouter un composant de traitement des données entre les composants source et destination. Pour plus d'informations, consultez la rubrique Sources de données prises en charge et solutions de synchronisation.
Ajouter un champ lors de la synchronisation
Dans une tâche de synchronisation en temps réel pour une table unique, activez l'option Data Processing.
Cliquez sur +Add Node, puis ajoutez le composant Edit Field and Assign Value.
Configurez le composant de modification de champs et d'affectation de valeurs. Sélectionnez les champs amont à transmettre au composant aval, ajoutez les champs requis et attribuez une valeur à chaque nouveau champ. Pour une description de chaque colonne et des méthodes d'affectation de valeurs, consultez la section Paramètres des champs.
Après avoir configuré les sections Source et Field editing and value assignment, cliquez sur Output Preview pour afficher les données de sortie du nœud actuel et vérifier qu'elles répondent à vos besoins.
-
Dans le mappage de champs, configurez la correspondance entre chaque nouveau champ et un champ de la table de destination.
ImportantUn champ nouvellement ajouté ne peut être écrit dans la table de destination qu'après configuration de son mappage vers un champ de la table de destination dans la section de mappage de champs.
Paramètres des champs
Le composant de modification de champs et d'affectation de valeurs agit sur deux groupes de champs : les champs transmis par le composant amont et les champs que vous ajoutez manuellement.
-
Champs amont : champs transmis par le composant amont au composant de modification de champs et d'affectation de valeurs. Les colonnes suivantes décrivent ces champs :
Field Name : nom du champ transmis par le composant amont.
Type : type de données transmis par le composant amont.
Value : pour un champ existant déjà dans le composant amont, la valeur correspond à la sortie amont. Pour un nouveau champ, trois méthodes d'affectation sont disponibles : constante, variable et fonction.
Actions : pour un champ de sortie amont, spécifiez s'il doit être transmis au composant aval.
-
Custom Field : cliquez sur Add Field dans le coin inférieur gauche de la page de modification de champs et d'affectation de valeurs pour ajouter un nouveau champ. Attribuez une valeur au nouveau champ à l'aide de l'une des méthodes suivantes :
Constant : convertit le texte constant saisi manuellement dans le type de données spécifié, puis l'attribue au nouveau champ.
Variable : attribue la valeur d'une variable intégrée au nouveau champ lors de l'exécution de la synchronisation. Pour connaître les variables disponibles, consultez la section Variables prises en charge.
Function : effectue un calcul de fonction lors de l'exécution de la synchronisation et attribue le résultat au nouveau champ. Si une exception se produit pendant le traitement de la fonction, l'enregistrement est traité comme une donnée erronée et comptabilisé dans les statistiques de données erronées de la tâche de synchronisation. La configuration de tolérance aux données erronées détermine ensuite si la tâche se termine anormalement. Pour connaître les fonctions disponibles, consultez la section Fonctions prises en charge.
Exemple
Dans cet exemple, le composant Kafka amont transmet les champs _key_ (STRING), _value_ (STRING), _partition_ (LONG), _offset_ (LONG), _timestamp_ (LONG) et _headers_ (STRING). Tous ces champs sont sélectionnés pour être transmis au composant aval. Dans les champs personnalisés, un champ add_col est ajouté, avec le type de données défini sur STRING, la méthode d'affectation définie sur constante et la valeur définie sur 1.
Variables prises en charge
Sélectionnez la méthode d'affectation par variable pour remplir un nouveau champ avec une valeur résolue par la tâche de synchronisation au moment de l'exécution. Le tableau suivant répertorie les variables intégrées prises en charge.
En raison de différences dans les caractéristiques système, certaines sources et destinations peuvent ne pas prendre en charge toutes les variables du tableau suivant.
|
Catégorie |
Variable |
Description |
|
Source |
PROCESS_TIME |
Heure à laquelle la tâche de synchronisation traite l'enregistrement. La valeur est un horodatage en millisecondes à 13 chiffres. |
|
Source |
DATASOURCE_NAME_SRC |
Nom de la source de données source. |
|
Source |
DB_NAME_SRC |
Nom de la base de données source. |
|
Source |
SCHEMA_NAME_SRC |
Nom du schéma source. |
|
Source |
TABLE_NAME_SRC |
Nom de la table source. |
|
Source |
TOPIC_NAME_SRC |
Nom du topic source. |
|
Destination |
TABLE_NAME_DEST |
Nom de la table de destination. |
|
Destination |
TOPIC_NAME_DEST |
Nom du topic de destination. |
|
Destination |
SCHEMA_NAME_DEST |
Nom du schéma de destination. |
|
Destination |
DB_NAME_DEST |
Nom de la base de données de destination. |
|
Destination |
DATASOURCE_NAME_DEST |
Nom de la source de données de destination. |
Fonctions prises en charge
Sélectionnez la méthode d'affectation par fonction pour calculer la valeur d'un nouveau champ lors de l'exécution de la synchronisation. Les fonctions suivantes sont prises en charge.
Dans les formats horaires utilisés par ces fonctions, tels que yyyy-MM-dd HH:mm:ss:SSS ZZ, yyyy indique l'année, MM le mois, dd le jour, HH l'heure au format 24 heures, mm la minute, ss la seconde, SSS la milliseconde et ZZ le fuseau horaire.
DATE_FORMAT
Convertit un horodatage en chaîne de temps selon un format spécifique.
|
Paramètre |
Description |
|
Parameter 1 |
Champ amont de type numérique, soit un horodatage UNIX à 10 chiffres, soit un horodatage en millisecondes à 13 chiffres. |
|
Parameter 2 |
Type d'horodatage. |
|
Parameter 3 |
Fuseau horaire utilisé pour la conversion. |
|
Parameter 4 |
Format de la chaîne de date de destination, par exemple |
TO_TIMESTAMP
Convertit une chaîne de temps en horodatage à 10 ou 13 chiffres.
|
Paramètre |
Description |
|
Parameter 1 |
Champ amont de type texte contenant une chaîne de temps dans un format spécifique. |
|
Parameter 2 |
Type d'horodatage de destination. |
|
Parameter 3 |
Fuseau horaire utilisé pour la conversion. |
|
Parameter 4 |
Format de la chaîne de temps, par exemple |
SUBSTRING
Extrait une sous-chaîne d'une chaîne.
|
Paramètre |
Description |
|
Parameter 1 |
Champ amont de type texte. |
|
Parameter 2 |
Position de début de la sous-chaîne. La sous-chaîne inclut le caractère à la position de départ. La position de départ minimale est 0. |
|
Parameter 3 |
Longueur de la sous-chaîne. Si la longueur est inférieure ou égale à 0, la fonction renvoie la sous-chaîne depuis la position de départ jusqu'à la fin de la chaîne. |