CaptureChangeMySQL 2025.5.31.15¶
Bundle¶
com.snowflake.openflow.runtime | runtime-database-cdc-processors-nar
Description¶
Lit les événements CDC à partir d’une base de données MySQL. Le processeur lit en continu les événements des fichiers journaux binaires, en filtrant ceux qui sont liés aux tables fournies par TableStateService et en rejetant le reste. Ce processeur génère en sortie deux types de FlowFiles : - des DDL contenant le schéma d’une table (le schéma initial, puis le nouveau schéma à chaque changement) ; - des DML, dont les enregistrements représentent les modifications apportées aux données de la table. Un FlowFile représente toujours les données relatives à une seule table. Le fichier DDL contenant le schéma est écrit dans le contenu du FlowFile sous la forme d’un objet JSON : { « columns »: [ { « name »: « <columnName> », « type »: « <snowflakeType> », « nullable »: <true|false>, « scale »: <scale>, « precision »: <precision> }, … ], « primaryKeys »: [« <primaryKey1> », « <primaryKey2> », …]}Structure des FlowFiles contenant les enregistrements DML : { « primaryKeys »: { « <column> »: <value>, … }, « payload »: { « <column> »: <value>, … }, « metadata »: { « <column> »: <value>, … }}
Exigences en matière d’entrées¶
FORBIDDEN
Prend en charge les propriétés dynamiques sensibles¶
false
Propriétés¶
Propriété |
Description |
---|---|
Column Filter Store |
Service de stockage des paramètres de filtrage des colonnes par table. |
Connection Timeout |
Délai d’expiration de la connexion à la base de données source |
JDBC Driver Location |
Liste séparée par des virgules des fichiers, des dossiers et/ou des URL contenant le pilote JAR et ses dépendances (le cas échéant). Par exemple, « /var/tmp/mariadb-java-client-3.4.1.jar » |
JDBC URL |
URL JDBC de la connexion à la base de données, c’est-à-dire jdbc:mariadb://localhost:3306/mysql |
Max Batch Size |
Nombre maximal d’enregistrements à traiter en une seule itération. Le nombre d’enregistrements peut dépasser la taille de lot maximale lorsque le dernier événement du binlog contient plus d’une ligne. |
Max Batch Wait Time |
Temps d’attente maximum pour que les données apparaissent dans le binlog. |
Max Queue Size |
Nombre maximal d’éléments lus dans le journal avant que le thread de lecture n’attende l’appel à onTrigger |
Mot de passe |
Mot de passe pour accéder à la base de données MySQL |
Record Writer |
Le Record Writer est utilisé pour sérialiser les événements DML |
Service contextuel SSL |
Service de contexte SSL prenant en charge la communication par socket chiffrée |
Mode SSL |
Mode SSL utilisé lorsque le service de contexte SSL est configuré pour prendre en charge les options de vérification des certificats |
Server ID |
ID du serveur (compris entre 1 et 2^32 - 1). Cette valeur doit être unique à l’échelle du groupe de réplication (c’est-à-dire qu’elle doit être différente de celle de tout autre ID de serveur utilisé par un maître ou un esclave). N’oubliez pas que chaque client de journal binaire doit être traité comme un esclave simplifié et, par conséquent, doit aussi utiliser un autre ID de serveur. |
Server ID Strategy |
Détermine le mode de sélection de l’ID de serveur |
Table State Store |
Le magasin partagé contenant l’état des tables répliquées. |
NomUtilisateur |
Nom d’utilisateur pour accéder à la base de données MySQL |
Gestion de l’État¶
Champs d’application |
Description |
---|---|
CLUSTER |
Des informations telles qu’un « pointeur » vers l’événement CDC en cours dans la base de données sont stockées par ce processeur, de sorte qu’il puisse reprendre au même emplacement en cas de redémarrage. |
Relations¶
Nom |
Description |
---|---|
success |
Création réussie du FlowFile à partir des événements du flux CDC |
Écrit les attributs¶
Nom |
Description |
---|---|
source.schema.name |
Nom du schéma de la table d’où provient un événement |
source.table.name |
Nom de la table d’où provient un événement |
cdc.event.type |
Type d’événement porté par le FlowFile : ddl ou dml |
cdc.most.significant.position |
La position la plus importante du DDL dans le flux CDC |
cdc.least.significant.position |
La position la moins importante du DDL dans le flux CDC |
cdc.event.seen.at |
Horodatage du moment où l’événement DDL a été lu par le processeur |