Tous les produits
Search
Centre de documentation

DataWorks:Synchronisation en temps réel d'une table Hologres vers Kafka

Dernière mise à jour :Aug 25, 2026

Utilisez une tâche de synchronisation ETL en temps réel pour synchroniser des données depuis des sources telles que DataHub et Hologres vers Kafka. La tâche initialise le topic Kafka en fonction du schéma de la table source et synchronise continuellement les données pour une consommation en aval.

Limites

  • La version de la source de données Kafka doit être comprise entre 0.10.2 et 3.6.0.

  • La version de la source de données Hologres doit être V2.1 ou ultérieure.

  • La synchronisation incrémentielle des données d'une table partitionnée Hologres n'est pas prise en charge.

  • Les messages relatifs aux modifications DDL sur une table Hologres ne peuvent pas être synchronisés.

  • Les types de données suivants peuvent être synchronisés de manière incrémentielle depuis Hologres : INTEGER, BIGINT, TEXT, CHAR(n), VARCHAR(n), REAL, JSON, SERIAL, OID, INT4[], INT8[], FLOAT8[], BOOLEAN[], TEXT[] et JSONB.

  • Activez la journalisation binaire pour la table Hologres dans la base de données Hologres source. Pour plus d'informations, consultez S'abonner aux journaux binaires Hologres.

Prérequis

Procédure

1. Sélectionner un type de tâche de synchronisation

  1. Connectez-vous à la console DataWorks. Dans la région cible, cliquez sur Data Integration > Data Integration dans le volet de navigation de gauche. Sélectionnez un espace de travail dans la liste déroulante et cliquez sur Go to Data Integration.

  2. Dans le volet de navigation de gauche, cliquez sur Sync Tasks. En haut de la page, cliquez sur Create synchronization task et configurez les paramètres suivants.

    • Data Source And Destination : HologresKafka

    • New Task Name : Personnalisez un nom pour la tâche de synchronisation.

    • Synchronization Mode : single-table real-time.

    • Étape Synchronization Mode : Sélectionnez full synchronization.

2. Configurer le réseau et les ressources

  1. Dans la section Configure Network Connections and Resource Groups, sélectionnez le Resource Group pour la tâche de synchronisation. Vous pouvez également définir l'Task Resource Usage en UC (Unités de calcul).

  2. Pour Source Data Source, sélectionnez une source de données Hologres. Pour Destination data source, sélectionnez une source de données Kafka. Ensuite, cliquez sur Test Connection.

  3. Une fois les tests de connectivité pour les sources de données source et destination réussis, cliquez sur Next step.

3. Configurer le lien de synchronisation

a. Configurer la source Hologres

En haut de la page, cliquez sur la source de données Hologres et modifiez les Holo source information.

image

  1. Dans la section Holo source information, sélectionnez le schéma et la table source.

  2. Dans le coin supérieur droit, cliquez sur Data Sampling.

    Dans la boîte de dialogue Preview Data Output, spécifiez le nombre d'Sampled Data Records et cliquez sur Start Collection. Cette action permet d'échantillonner et de prévisualiser les données de la table Hologres.

b. Configurer la destination Kafka

En haut de la page, cliquez sur la destination Kafka et modifiez les Kafka Destination Information.

image

  1. Dans la section Kafka Destination Information, sélectionnez le topic Kafka vers lequel vous souhaitez écrire les données.

  2. Définissez l'option Merge Source Binlog Update Messages selon vos besoins. Si vous activez cette option, les deux messages de mise à jour correspondant à une opération de mise à jour dans les journaux binaires source sont fusionnés en un seul message avant d'être écrits dans Kafka.

  3. Configurez le Output Format, la Key Column et les Kafka Producer Parameters.

    • Output Format : Spécifie le format des valeurs pour les enregistrements écrits dans Kafka. Les formats valides sont Canal CDC et JSON. Pour plus d'informations, consultez l'Annexe : Formats de sortie.

    • Key Column : Spécifie les colonnes source dont les valeurs sont sérialisées en chaînes et concaténées avec des virgules pour former la clé des enregistrements écrits dans le topic Kafka.

      Remarque
      • Les règles de sérialisation pour les valeurs de colonne sont identiques aux règles de sérialisation JSON pour les types de données de colonne dans Hologres.

      • Les valeurs de clé dans le topic Kafka déterminent les partitions vers lesquelles les données sont écrites. Les données ayant la même valeur de clé sont écrites dans la même partition. Pour garantir qu'un consommateur puisse consommer les données du topic Kafka dans l'ordre, nous vous recommandons d'utiliser les colonnes de clé primaire de la table Hologres comme colonnes de clé.

      • Si aucune colonne source n'est utilisée comme colonne de clé, les valeurs de clé dans le topic Kafka sont nulles. Dans ce cas, les données sont écrites dans des partitions aléatoires du topic Kafka.

    • Kafka Producer Parameters : Ces paramètres contrôlent la cohérence, la stabilité et la gestion des exceptions pour les opérations d'écriture. La configuration par défaut suffit pour la plupart des cas d'utilisation. Pour obtenir des informations sur les paramètres de producteur pris en charge par différentes versions de Kafka, consultez la documentation Kafka officielle.

4. Alertes

Pour éviter que des erreurs de tâche ne provoquent des retards dans la synchronisation des données métier, définissez une politique d'alerte pour la tâche de synchronisation.

  1. Cliquez sur Alert Settings dans le coin supérieur droit de la page pour ouvrir la page de configuration des Alert Rule Configurations for Real-time Synchronization Subnode.

  2. Cliquez sur Add Alert Rule pour configurer une règle d'alerte.

    Remarque

    Les règles d'alerte que vous définissez ici s'appliquent aux sous-tâches de synchronisation en temps réel générées par cette tâche. Après avoir configuré la tâche, vous pouvez afficher et modifier les règles d'alerte pour ces sous-tâches sur la page Exécuter et gérer les tâches de synchronisation en temps réel.

  3. Gérez les règles d'alerte.

    Pour les règles d'alerte existantes, utilisez le commutateur pour les activer ou les désactiver. Vous pouvez également envoyer des alertes à différents destinataires en fonction du niveau d'alerte.

5. Paramètres avancés

La tâche de synchronisation propose plusieurs paramètres que vous pouvez modifier selon vos besoins.

Remarque

Avant d'apporter des modifications, assurez-vous de bien comprendre la fonction de chaque paramètre afin d'éviter des erreurs inattendues ou des problèmes de qualité des données.

  1. Cliquez sur advanced settings dans le coin supérieur droit de la page pour ouvrir la page des paramètres avancés.

  2. Sur la page advanced settings, modifiez les valeurs des paramètres selon vos besoins.

6. Groupe de ressources

Cliquez sur Configure Resource Group dans le coin supérieur droit pour afficher et changer le groupe de ressources actuel de la tâche.

7. Exécuter la tâche de synchronisation

  1. Après avoir terminé tous les paramètres, cliquez sur Complete en bas de la page.

  2. Sur la page Data Integration > Synchronization Task, recherchez la tâche que vous avez créée et cliquez sur Start dans la colonne Operations.

  3. Cliquez sur le Name/ID de la tâche correspondante dans la Task List pour afficher son processus d'exécution détaillé.

Effectuer des opérations de maintenance sur la tâche de synchronisation

Afficher l'état de la tâche de synchronisation

Après la création de la tâche de synchronisation, accédez à la page Tasks pour afficher toutes les tâches de synchronisation de l'espace de travail et leurs informations de base.

La liste des tâches affiche les colonnes suivantes : Name/ID, Data Source Synchronization Solution (type de synchronisation, source et destination), Status, Execution Overview, resource group et Actions.

  • Vous pouvez Start ou Stop une tâche de synchronisation dans la colonne Actions. Sous More, vous pouvez effectuer d'autres opérations, telles que Edit et View.

  • Pour les tâches démarrées, vous pouvez afficher l'état d'exécution de base dans l'Execution Overview et cliquer sur la zone de résumé correspondante pour afficher les détails d'exécution.

Une tâche de synchronisation en temps réel d'une table Hologres vers Kafka comprend les trois étapes suivantes :

  • Structure Migration : inclut la méthode de création de la table de destination (table existante ou création automatique de table). Si vous sélectionnez la création automatique de table, l'instruction DDL (Data Definition Language) de création de la table est affichée.

  • Full initialization : Si vous sélectionnez Full Sync pour l'étape de synchronisation de votre tâche, la progression de l'initialisation complète est affichée ici.

  • Real-time Data Synchronization : Contient des statistiques sur la synchronisation en temps réel, y compris le trafic de lecture/écriture en temps réel, les données erronées, les basculements et les journaux d'opérations.

Réexécuter une tâche

Dans des cas particuliers, par exemple lorsque vous devez modifier les champs synchronisés ou ajuster les informations de la table cible, cliquez sur Rerun dans la colonne Operations de la tâche de synchronisation. Cette action synchronise les champs ajustés et autres modifications vers la cible. Le processus ignore les tables inchangées précédemment synchronisées.

  • Pour exécuter à nouveau la tâche sans aucune modification, cliquez sur Rerun.

  • Si vous modifiez la tâche, cliquez sur Complete après avoir effectué vos modifications. L'action de la tâche devient Apply Updates. Cliquer sur Apply Updates réexécute la tâche avec la nouvelle configuration.

Annexe : Description des formats de sortie

Canal CDC

Canal CDC est un format de données CDC défini par Alibaba Canal.

  • Champs et significations

    Nom du champ

    Signification de la valeur du champ

    id

    La valeur de ce champ est fixée à 0.

    database

    Le nom de la base de données Hologres.

    table

    Le nom de la table Hologres.

    pkNames

    La colonne de clé primaire de la table Hologres.

    isDdl

    Indique si les journaux binaires enregistrent les modifications DDL. La valeur de ce champ est fixée à false car la synchronisation des messages pour les modifications DDL sur la table Hologres n'est pas prise en charge.

    type

    Le type de modification DML. Valeurs valides : INSERT, UPDATE et DELETE.

    Remarque

    Une opération de modification sur la table Hologres génère deux enregistrements dont le type est UPDATE. Les enregistrements seront écrits dans le topic Kafka.

    • L'un des enregistrements correspond au contenu des données avant la modification.

    • L'autre correspond au contenu des données après la modification.

    • Si vous souhaitez synchroniser toutes les données de la table Hologres vers le topic Kafka, la valeur du champ type est fixée à INSERT.

    es

    Un horodatage de 13 chiffres en millisecondes. L'horodatage indique l'heure à laquelle les données de la table Hologres sont modifiées.

    Si vous souhaitez synchroniser toutes les données de la table Hologres vers le topic Kafka, la valeur du champ es est fixée à 0.

    ts

    Un horodatage de 13 chiffres en millisecondes. L'horodatage indique l'heure à laquelle les journaux binaires générés pour la table Hologres sont lus par la tâche de synchronisation.

    sql

    Le code SQL qui enregistre les modifications DDL lorsque les journaux binaires générés pour la table Hologres contiennent les modifications DDL. La valeur de ce champ est fixée à une chaîne vide car la synchronisation des messages pour les modifications DDL sur la table Hologres n'est pas prise en charge.

    sqlType

    Les types de données de champ SQL auxquels correspondent les types de données des champs de la table Hologres.

    Correspondances entre les types de données Hologres et les valeurs valides de sqlType :

    • bigint : -5

    • decimal dont l'échelle n'est pas 0 : 3

    • decimal dont l'échelle est 0 : -5

    • boolean : 16

    • date : 91

    • float4 : 6

    • float8 : 8

    • integer : 4

    • smallint : 5

    • json : 12

    • text : 12

    • varchar : 12

    • timestamp : 93

    • timestamptz : 93

    • bigserial : -5

    • bytea : 12

    • char : 12

    • serial : 4

    • time : 92

    • int4[] : 12

    • int8[] : 12

    • float4[] : 12

    • float8[] : 12

    • boolean[] : 12

    • text[] : 12

    mysqlType

    Les types de données de champ MySQL auxquels correspondent les types de données des champs de la table Hologres.

    Correspondances entre les types de données Hologres et les valeurs valides de mysqlType :

    • bigint : BIGINT

    • int4 : INT

    • decimal dont l'échelle n'est pas 0 : DECIMAL(xx,xx)

    • decimal dont l'échelle est 0 : BIGINT

    • boolean : BOOLEAN

    • date : DATE

    • float4 : FLOAT

    • float8 : DOUBLE

    • integer : INT

    • smallint : SMALLINT

    • json : TEXT

    • text : TEXT

    • varchar : VARCHAR(xx)

    • timestamp : DATETIME(6)

    • timestamptz : DATETIME(6)

    • bigserial : BIGINT

    • bytea : TEXT

    • char : TEXT

    • serial : INT

    • time : TIME(6)

    • int4[] : TEXT

    • int8[] : TEXT

    • float4[] : TEXT

    • float8[] : TEXT

    • boolean[] : TEXT

    • text[] : TEXT

    data

    Les modifications de données dans la table Hologres. Les noms de champs de la table Hologres sont utilisés comme clés, et les modifications de données dans les champs sont sérialisées en chaînes et utilisées comme valeurs. Ensuite, les clés et les valeurs sont organisées sous forme de chaînes au format JSON. Pour plus d'informations sur la sérialisation, consultez la Description de la sérialisation JSON.

    old

    Deux enregistrements dont le type est UPDATE sont générés pour une opération de modification sur la table Hologres et écrits dans le topic Kafka.

    Les enregistrements correspondent au contenu des données avant et après la modification. Dans le premier enregistrement, le champ old est utilisé pour enregistrer le contenu des données dans la table Hologres avant la modification. Le champ data est utilisé pour enregistrer le contenu des données pour les modifications DML autres que UPDATE.

  • Exemple de données au format Canal JSON correspondant aux modifications de données générées par une opération INSERT dans les journaux binaires de la table Hologres

    {
        "id": 0,
        "database": "test",
        "table": "tp_int",
        "pkNames": [
            "id"
        ],
        "isDdl": false,
        "type": "INSERT",
        "es": 1640007049196,
        "ts": 1639633142960,
        "sql": "",
        "sqlType": {
            "bigint": -5,
            "integer": 4,
            "smallint": 5
        },
        "mysqlType": {
            "bigint": "BIGINT",
            "integer": "INT",
            "smallint": "SMALLINT"
        },
        "data": [
            {
                "bigint": "9223372036854775807",
                "integer": "2147483647",
                "smallint": "32767"
            }
        ],
        "old": null
    }
  • Exemple de données au format Canal JSON correspondant à toutes les données synchronisées depuis la table Hologres

    {
        "id": 0,
        "database": "test",
        "table": "tp_int",
        "pkNames": [
            "id"
        ],
        "isDdl": false,
        "type": "INSERT",
        "es": 0,
        "ts": 1639633142960,
        "sql": "",
        "sqlType": {
            "bigint": -5,
            "integer": 4,
            "smallint": 5
        },
        "mysqlType": {
            "bigint": "BIGINT",
            "integer": "INT",
            "smallint": "SMALLINT"
        },
        "data": [
            {
                "bigint": "9223372036854775807",
                "integer": "2147483647",
                "smallint": "32767"
            }
        ],
        "old": null
    }
  • Exemple de deux enregistrements de données au format Canal JSON correspondant aux modifications de données générées par une opération UPDATE dans les journaux binaires de la table Hologres

    // Data content before a change
    {
        "id": 0,
        "database": "test",
        "table": "tp_int",
        "pkNames": [
            "id"
        ],
        "isDdl": false,
        "type": "UPDATE",
        "es": 1640007049196,
        "ts": 1639633142960,
        "sql": "",
        "sqlType": {
            "bigint": -5,
            "integer": 4,
            "smallint": 5
        },
        "mysqlType": {
            "bigint": "BIGINT",
            "integer": "INT",
            "smallint": "SMALLINT"
        },
        "old": [
            {
                "bigint": "0",
                "integer": "0",
                "smallint": "0"
            }
        ],
        "data": null
    }
    // Data content after a change
    {
        "id": 0,
        "database": "test",
        "table": "tp_int",
        "pkNames": [
            "id"
        ],
        "isDdl": false,
        "type": "UPDATE",
        "es": 1640007049196,
        "ts": 1639633142960,
        "sql": "",
        "sqlType": {
            "bigint": -5,
            "integer": 4,
            "smallint": 5
        },
        "mysqlType": {
            "bigint": "BIGINT",
            "integer": "INT",
            "smallint": "SMALLINT"
        },
        "data": [
            {
                "bigint": "9223372036854775807",
                "integer": "2147483647",
                "smallint": "32767"
            }
        ],
        "old": null
    }
  • Exemple de données au format Canal JSON correspondant aux modifications de données générées par une opération DELETE dans les journaux binaires de la table Hologres

    {
        "id": 0,
        "database": "test",
        "table": "tp_int",
        "pkNames": [
            "id"
        ],
        "isDdl": false,
        "type": "DELETE",
        "es": 1640007049196,
        "ts": 1639633142960,
        "sql": "",
        "sqlType": {
            "bigint": -5,
            "integer": 4,
            "smallint": 5
        },
        "mysqlType": {
            "bigint": "BIGINT",
            "integer": "INT",
            "smallint": "SMALLINT"
        },
        "data": [
            {
                "bigint": "9223372036854775807",
                "integer": "2147483647",
                "smallint": "32767"
            }
        ],
        "old": null
    }

Json

Le format JSON utilise les noms de champs des journaux binaires Hologres comme clés et sérialise les valeurs de champ en chaînes. Les paires clé-valeur résultantes sont écrites dans le topic Kafka sous forme de chaînes au format JSON.

Description de la sérialisation JSON

Sérialisation des types de données Hologres

Type de données Hologres

Résultat de sérialisation écrit dans Kafka

bit

Non pris en charge. Le système signale une erreur au démarrage de la tâche de synchronisation.

inet

Non pris en charge. Le système signale une erreur au démarrage de la tâche de synchronisation.

interval

Non pris en charge. Le système signale une erreur au démarrage de la tâche de synchronisation.

money

Non pris en charge. Le système signale une erreur au démarrage de la tâche de synchronisation.

oid

Non pris en charge. Le système signale une erreur au démarrage de la tâche de synchronisation.

timetz

Non pris en charge. Le système signale une erreur au démarrage de la tâche de synchronisation.

uuid

Non pris en charge. Le système signale une erreur au démarrage de la tâche de synchronisation.

varbit

Non pris en charge. Le système signale une erreur au démarrage de la tâche de synchronisation.

jsonb

Non pris en charge. Le système signale une erreur indiquant que les journaux binaires n'ont pas pu être analysés après l'écriture des données dans Kafka.

bigint

Une chaîne numérique. Exemple : 2.

decimal(38,18)

Une chaîne numérique dont les décimales correspondent à la précision. Exemple : 1.234560000000000000.

decimal(38,0)

Une chaîne numérique dont les décimales correspondent à la précision. Exemple : 2.

boolean

« true »/« false ».

date

Une chaîne de date au format yyyy-MM-dd. Exemple : 2024-02-02.

float4/float8/double

Une chaîne numérique. Le système n'ajoute pas de 0 au résultat de sérialisation. Cela garantit que le résultat de sérialisation est cohérent avec les données que vous interrogez depuis la table Hologres. Exemple : 1,24.

interger/smallint

Une chaîne numérique. Exemple : 2.

json

Une chaîne JSON. Exemple : {\"a\":2}.

text/varchar

Une chaîne encodée en UTF-8. Exemple : text.

timestamp

Une chaîne temporelle précise à la microseconde

  • Si les parties milliseconde et microseconde sont toutes deux égales à 0, les deux parties sont automatiquement omises lors de l'écriture des données dans Kafka.

    • Par exemple, la chaîne temporelle 2020-01-01 09:01:01.000000 devient 2020-01-01 09:01:01 après l'écriture dans Kafka.

  • Si la partie microseconde est égale à 0, les zéros après la milliseconde seront omis lors de l'écriture. Par exemple :

    • Par exemple, la chaîne temporelle 2020-01-01 09:01:01.123000 devient 2020-01-01 09:01:01.123 après l'écriture dans Kafka.

  • Si la partie microseconde n'est pas égale à 0, le système ajoute automatiquement trois zéros après la partie microseconde lors de l'écriture des données dans Kafka.

    • Par exemple, la chaîne temporelle 2020-01-01 09:01:01.123457 devient 2020-01-01 09:01:01.123457000 après l'écriture dans Kafka.

timestamp with time zone

Une chaîne temporelle précise à la milliseconde. Exemple : 2020-01-01 09:01:01.123.

  • Si la partie milliseconde est égale à 0, la partie milliseconde est automatiquement omise lors de l'écriture des données dans Kafka.

    • Par exemple, la chaîne temporelle 2020-01-01 09:01:01.000 devient 2020-01-01 09:01:01 après l'écriture dans Kafka.

bigserial

Une chaîne numérique. Exemple : 2.

bytea

Une chaîne encodée en Base64. Exemple : ASDB==.

char

Une chaîne de longueur fixe. Exemple : char.

serial

Une chaîne numérique. Exemple : 2

time

Une chaîne temporelle précise à la microseconde.

  • Si les parties milliseconde et microseconde sont toutes deux égales à 0, les deux parties sont automatiquement omises lors de l'écriture des données dans Kafka :

    • Par exemple, la chaîne temporelle 2020-01-01 09:01:01.000000 devient 2020-01-01 09:01:01 après l'écriture dans Kafka.

  • Si la partie milliseconde ou microseconde n'est pas égale à 0, le système ajoute 0 pour la partie nanoseconde après la partie microseconde :

    • Par exemple, la chaîne temporelle 2020-01-01 09:01:01.123457 devient 2020-01-01 09:01:01.123457000 après l'écriture dans Kafka.

int4[]/int8[]

Un tableau de chaînes. Exemple : ["1","2","3","4"].

float4[]/float8[]

Un tableau de chaînes. Exemple : ["1,23","2,34"].

boolean[]

Un tableau de chaînes. Exemple : ["true","false"].

text[]

Un tableau de chaînes. Exemple : ["a","b"].

Remarque

Si les valeurs des champs temporels sérialisés se situent en dehors de la plage [0001-01-01,9999-12-31], le résultat de sérialisation diffère du résultat de requête dans Hologres.

Description des champs de métadonnées

Remarque
  • Une opération INSERT, UPDATE ou DELETE enregistrée dans les journaux binaires de la table Hologres génère deux enregistrements au format JSON, comme c'est le cas lorsque vous utilisez le format Canal CDC. Les enregistrements au format JSON seront synchronisés vers le topic Kafka associé. L'un des enregistrements au format JSON correspond au contenu des données avant la modification, et l'autre correspond au contenu des données après la modification.

  • Pour le format JSON, vous pouvez sélectionner l'option Whether to output source binlog metadata.. Si cette option est sélectionnée, le système ajoute plusieurs champs de métadonnées à l'objet JSON. Ces champs décrivent les propriétés de l'enregistrement de modification du journal binaire Hologres.

Nom du champ

Signification de la valeur du champ

_sequence_id_

L'identifiant unique des enregistrements dans les journaux binaires de la table Hologres. Si vous effectuez une synchronisation complète, la valeur de ce champ est remplie avec null.

_operation_type_

Le type de modification DML. Valeurs valides : « I », « U » et « D », qui indiquent respectivement les opérations INSERT, UPDATE et DELETE. Si vous effectuez une synchronisation complète, la valeur de ce champ est remplie avec « I ».

_execute_time_

Un horodatage de 13 chiffres en millisecondes.

  • qui indique l'heure à laquelle les données de la table Hologres sont modifiées.

  • Si vous effectuez une synchronisation complète, la valeur de ce champ est remplie avec 0.

_before_image_

  • Indique si les données du message pour la synchronisation incrémentielle correspondent au contenu des données avant une modification. Valeurs valides : Y et N, qui indiquent oui et non.

  • Si vous effectuez une synchronisation complète, la valeur de ce champ est remplie avec N.

  • Si le type de message pour la modification est INSERT, la valeur de ce champ est remplie avec N.

  • Si le type de message pour la modification est UPDATE, deux enregistrements sont écrits dans Kafka. La valeur de ce champ pour l'un des enregistrements est remplie avec Y, et la valeur de ce champ pour l'autre est remplie avec N.

  • Si le type de message pour la modification est DELETE, la valeur de ce champ est remplie avec Y.

_after_image_

  • Indique si les données du message pour la synchronisation incrémentielle correspondent au contenu des données après une modification. Valeurs valides : Y et N, qui indiquent oui et non.

  • Si vous effectuez une synchronisation complète, la valeur de ce champ est remplie avec Y.

  • Si le type de message pour la modification est INSERT, la valeur de ce champ est remplie avec Y.

  • Si le type de message pour la modification est UPDATE, deux enregistrements sont écrits dans Kafka. La valeur de ce champ pour l'un des enregistrements est remplie avec Y, et la valeur de ce champ pour l'autre est remplie avec N.

  • Si le type de message pour la modification est DELETE, la valeur de ce champ est remplie avec N.