Une fois l'instance d'abonnement configurée, utilisez le connecteur flink-dts-connector pour consommer les données de l'instance depuis un client Flink. Cette rubrique explique comment utiliser le connecteur flink-dts-connector.
Remarques sur l'utilisation
Ce connecteur prend en charge les clients Flink utilisant l'API DataStream, l'API Table ou SQL.
Si votre client Flink utilise l'API Table ou SQL, chaque configuration ne permet de consommer les données que d'une seule table. Pour consommer les données de plusieurs tables, configurez et exécutez plusieurs tâches indépendantes.
Procédure
Cette rubrique utilise IntelliJ IDEA Community Edition 2020.1 pour Windows afin de montrer comment utiliser le connecteur flink-dts-connector pour consommer les données d'une instance d'abonnement.
Créez une tâche de suivi des modifications. Pour plus d'informations, consultez les rubriques pertinentes dans Présentation du suivi des modifications.
Créez un ou plusieurs groupes de consommateurs. Pour plus d'informations, consultez Ajouter un groupe de consommateurs.
Téléchargez et décompressez le flink-dts-connector.
-
Ouvrez IntelliJ IDEA et cliquez sur Open or Import.

-
Dans la boîte de dialogue qui s'affiche, accédez au répertoire flink-dts-connector décompressé, développez les dossiers, puis recherchez le fichier Project Object Model (pom.xml).

Dans la boîte de dialogue qui s'affiche, sélectionnez Open as Project.
-
Ajoutez la dépendance suivante au fichier pom.xml :
<dependency> <groupId>com.alibaba.flink</groupId> <artifactId>flink-dts-connector</artifactId> <version>1.1.1-SNAPSHOT</version> <classifier>jar-with-dependencies</classifier> </dependency> -
Dans IntelliJ IDEA, développez les dossiers et sélectionnez le fichier Java correspondant au type de programme de votre connecteur Flink.
-
Si votre client Flink utilise l'API DataStream, double-cliquez sur le fichier flink-dts-connector-master\src\test\java\com\alibaba\flink\connectors\dts\datastream\DtsExample.java et suivez les étapes ci-dessous :
En haut de la fenêtre IntelliJ IDEA, cliquez sur l'icône Run.

Dans le menu qui s'affiche, cliquez sur .

-
Dans le champ Program arguments, saisissez les paramètres et leurs valeurs selon l'exemple suivant. Cliquez ensuite sur Run pour démarrer le connecteur flink-dts-connector.
RemarquePour plus d'informations sur les paramètres et sur la manière d'obtenir leurs valeurs, consultez Paramètres.
--broker-url dts-cn-******.******.***:****** --topic cn_hangzhou_rm_**********_dtstest_version2 --sid dts****** --user dtstest --password Test123456 --checkpoint 1624440043 -
La sortie confirme que le client peut s'abonner aux modifications de données de la base de données source.
RemarquePour interroger des enregistrements de modification de données spécifiques, connectez-vous à l'interface utilisateur Task Manager de votre client Flink.
-
Si votre client Flink utilise l'API Table ou SQL, double-cliquez sur le fichier flink-dts-connector-master\src\test\java\com\alibaba\flink\connectors\dts\sql\DtsTableISelectTCaseTest.java et suivez les étapes ci-dessous :
RemarqueChaque fichier
DtsTableISelectTCaseTest.javane peut être configuré que pour consommer les données d'une seule table. Pour configurer et consommer les données de plusieurs tables, répétez la configuration et exécutez plusieurs tâches indépendantes.Ajoutez deux barres obliques (
//) pour mettre en commentaire la ligne de code spécifiée.
Configurez les informations relatives à la table unique dont vous souhaitez consommer les données. Les instructions SQL sont prises en charge.
Configurez les paramètres de l'instance d'abonnement. Pour plus d'informations sur les paramètres et sur la manière d'obtenir leurs valeurs, consultez Paramètres.

En haut de la fenêtre IntelliJ IDEA, cliquez sur Run'DtsTableISelectTCaseTest' pour démarrer le connecteur flink-dts-connector.
-
La sortie confirme que le client peut s'abonner aux modifications de données de la base de données source.
RemarquePour interroger des enregistrements de modification de données spécifiques, connectez-vous à l'interface utilisateur Task Manager de votre client Flink.
-
Paramètres
|
DtsExample.java |
DtsTableISelectTCaseTest.java |
Description |
Méthode de requête |
|
|
|
Le point de terminaison réseau et le port de l'instance d'abonnement. Remarque
|
Dans la console DTS, cliquez sur l'ID de l'instance d'abonnement cible. Sur la page Basic Information, vous pouvez obtenir les informations relatives au Topic et au Network. |
|
|
|
Le topic de l'instance d'abonnement. |
|
|
|
|
L'ID du groupe de consommateurs. |
Dans la console DTS, cliquez sur l'ID de l'instance d'abonnement cible. Dans le volet de navigation de gauche, cliquez sur Consume Data. Vous pouvez obtenir l'Consumer Group ID/Name et le Account du groupe de consommateurs. Remarque
Le mot de passe du compte du groupe de consommateurs est spécifié lors de la création du groupe de consommateurs. |
|
|
|
Le compte du groupe de consommateurs. Avertissement
Si vous n'utilisez pas le connecteur flink-dts-connector fourni dans cette rubrique, vous devez définir le nom d'utilisateur au format |
|
|
|
|
Le mot de passe du compte. |
|
|
|
|
Le décalage du consommateur. Ce paramètre spécifie l'horodatage Unix du premier enregistrement de données à consommer. Exemple : 1624440043. Remarque
Vous pouvez utiliser le décalage du consommateur pour :
|
L'heure de début de la consommation doit se situer dans la plage de données de l'instance d'abonnement et doit être convertie en horodatage Unix. Remarque
|
|
N/A |
|
L'objet abonné. Vous ne pouvez spécifier qu'une seule table. Les exigences de format sont les suivantes :
|
Dans la console DTS, cliquez sur l'ID de l'instance d'abonnement cible. En haut de la page Basic Information ou Task Management, cliquez sur View Objects pour trouver la base de données et la table abonnées. |
FAQ
|
Message d'erreur |
Cause possible |
Solution |
|
Un basculement dans le module DStore, utilisé par Data Transmission Service (DTS) pour lire les données incrémentielles, entraîne la perte du décalage du consommateur du client Flink. |
Ne redémarrez pas le client. Interrogez plutôt le décalage du consommateur du client et transmettez à nouveau la valeur au paramètre |