Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:Datagen

Dernière mise à jour :Aug 09, 2026

Le connecteur Datagen sert au débogage. Il génère des données de test aléatoires pour les tables source, ce qui permet de valider la logique métier lors du développement et des tests sans se connecter à une source de données externe. Il produit périodiquement des valeurs aléatoires conformes au schéma de votre table.

Le connecteur prend également en charge la syntaxe des colonnes calculées pour une génération de données flexible.

Fonctionnalités du connecteur

Élément Description
Type de table Table source
Mode d'exécution Mode batch et mode streaming
Format des données N/A
Métrique N/A
Type d'API API SQL
Mise à jour ou suppression des données dans une table sink N/A

Limites

Seul Realtime Compute for Apache Flink utilisant Ververica Runtime (VVR) 2.0.0 ou une version ultérieure prend en charge le connecteur Datagen.

Syntaxe

CREATE TABLE datagen_source (
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'datagen'
);

Paramètres de la clause WITH

Paramètre Type de données Obligatoire Valeur par défaut Description
connector String Oui Aucune Doit être défini sur datagen.
rows-per-second Long Non 10000 Taux de génération des lignes, exprimé en lignes par seconde.
number-of-rows Long Non Aucune Nombre total de lignes à générer. Par défaut, la source est illimitée. Si un générateur de séquence est utilisé, la source devient automatiquement limitée une fois la séquence terminée.
fields.<field>.kind String Non random Type de générateur pour le champ. Valeurs valides : random ou sequence. Pour plus de détails, consultez la section Générateurs.
fields.<field>.min Identique au type de données de <field> Non Valeur minimale du type de données du champ Valeur minimale pour un générateur aléatoire. S'applique uniquement aux types numériques.
fields.<field>.max Identique au type de données de <field> Non Valeur maximale du type de données du champ Valeur maximale pour un générateur aléatoire. S'applique uniquement aux types numériques.
fields.<field>.max-past Duration Non 0 Décalage maximal vers le passé par rapport à l'horodatage local actuel de la machine lors de la génération de valeurs d'horodatage aléatoires. S'applique uniquement aux types TIMESTAMP et TIMESTAMP_LTZ.
fields.<field>.length Integer Non 100 Longueur de la chaîne aléatoire ou taille de la collection générée. Types pris en charge : CHAR, VARCHAR, BINARY, VARBINARY, STRING, ARRAY, MAP, MULTISET.
fields.<field>.start Identique au type de données de <field> Non Aucune Valeur de départ pour un générateur de séquence.
fields.<field>.end Identique au type de données de <field> Non Aucune Valeur de fin pour un générateur de séquence.
Remplacez <field> par le nom du champ défini dans votre instruction DDL.

Générateurs

Le connecteur Datagen prend en charge deux types de générateurs :

  • Générateur aléatoire : génère des valeurs aléatoires dans la plage configurée. Spécifiez fields.<field>.min et fields.<field>.max pour contrôler la plage des types numériques.

  • Générateur de séquence : génère des valeurs ordonnées d'une valeur de départ à une valeur de fin. Lorsque la séquence est épuisée, la génération de données s'arrête et une table limitée est produite. Spécifiez fields.<field>.start et fields.<field>.end pour définir la plage.

Le tableau suivant répertorie le type de générateur pris en charge pour chaque type de données.

Type de données Générateur pris en charge Notes
BOOLEAN Aléatoire
CHAR Aléatoire et séquence
VARCHAR Aléatoire et séquence
BINARY Aléatoire et séquence
VARBINARY Aléatoire et séquence
STRING Aléatoire et séquence
DECIMAL Aléatoire et séquence
TINYINT Aléatoire et séquence
SMALLINT Aléatoire et séquence
INT Aléatoire et séquence
BIGINT Aléatoire et séquence
FLOAT Aléatoire et séquence
DOUBLE Aléatoire et séquence
DATE Aléatoire Toujours résolu à la date actuelle de la machine locale.
TIME Aléatoire Toujours résolu à l'heure actuelle de la machine locale.
TIMESTAMP Aléatoire Génère des valeurs dans la plage de décalage vers le passé par rapport à l'horodatage local actuel de la machine. Configurez le décalage avec fields.<field>.max-past.
TIMESTAMP_LTZ Aléatoire Génère des valeurs dans la plage de décalage vers le passé par rapport à l'horodatage local actuel de la machine. Configurez le décalage avec fields.<field>.max-past.
ROW Aléatoire Génère des sous-champs aléatoires.
ARRAY Aléatoire Génère des éléments aléatoires.
MAP Aléatoire Génère des paires clé-valeur aléatoires.
MULTISET Aléatoire Génère des éléments aléatoires.

Exemples

Configuration minimale

Créez une table source avec les paramètres par défaut :

CREATE TABLE datagen_source (
  name VARCHAR,
  score BIGINT
) WITH (
  'connector' = 'datagen'
);

Combinaison de générateurs de séquence et aléatoires

Dans la plupart des cas, le connecteur Datagen est utilisé conjointement avec la clause LIKE pour simuler une table existante. L'exemple suivant génère un ensemble de données limité en utilisant un générateur de séquence pour id et un générateur aléatoire pour score :

CREATE TABLE datagen_source (
  id INT,
  score INT
) WITH (
  'connector' = 'datagen',
  'fields.id.kind' = 'sequence',
  'fields.id.start' = '1',
  'fields.id.end' = '50',
  'fields.score.kind' = 'random',
  'fields.score.min' = '70',
  'fields.score.max' = '100'
);

Le générateur de séquence produit des valeurs id de 1 à 50, puis s'arrête. Étant donné qu'un générateur de séquence est utilisé, la source est limitée. Le générateur aléatoire produit des valeurs score comprises entre 70 et 100.