Tous les produits
Search
Centre de documentation

Lindorm:Utiliser Flink pour accéder à LindormTable

Dernière mise à jour :Aug 27, 2026

Connectez Apache Flink à LindormTable et utilisez les tables Lindorm comme tables de dimension ou tables de résultats dans vos jobs Flink. Vous pouvez accéder à ces tables via Flink SQL ou Flink DataStream.

Contexte

Vous pouvez utiliser Lindorm LindormTable comme table de dimension ou table de résultats dans Flink, et y accéder via Flink SQL ou Flink DataStream.

Choisir une méthode de connexion

Dans LindormTable, les tables sont classées en deux catégories selon leur mode de création : les tables HBase (créées et alimentées via l'API HBase) et les tables SQL (créées et alimentées via Lindorm SQL). L'accès à ces deux types de tables nécessite des interfaces différentes. Par conséquent, avant de créer un job Flink, vous devez déterminer le type de connecteur, puis l'adresse de connexion de LindormTable correspondante.

Déterminer le type de table à accéder

Dans Lindorm, utilisez Lindorm SQL pour identifier le type de LindormTable qu'un job Flink en cours de développement doit accéder :

  1. Utilisez lindorm-cli (ou directement Lindorm Insight ou DMS) pour vous connecter au moteur de tables larges de Lindorm.

  2. Exécutez l'instruction SQL suivante pour vérifier l'attribut IS_HBASE_LIKE de la table.

    • Si la valeur de l'attribut est TRUE, il s'agit d'une table HBase.

    • Si la valeur de l'attribut est FALSE, il s'agit d'une table SQL.

    SHOW TABLE VARIABLES FROM table_name LIKE 'IS_HBASE_LIKE';
Remarque

Choisir le type de connecteur

Selon la forme du produit Flink que vous avez sélectionnée, décidez quel connecteur utiliser pour accéder à LindormTable.

Type de table

Flink communautaire

Realtime Compute for Apache Flink

Table HBase

Connecteur HBase open source

(Pris en charge en tant que table de dimension et table de résultats)

Connecteur Lindorm pour base de données multi-modèles cloud native

(Pris en charge en tant que table de dimension et table de résultats)

Table SQL

Connecteur JDBC open source

(Pris en charge en tant que table de résultats)

Connecteur Lindorm pour base de données multi-modèles cloud native

(Pris en charge en tant que table de dimension et table de résultats)

Remarque

Realtime Compute for Apache Flink est un service Flink managé sur Alibaba Cloud. Pour plus d'informations, consultez la rubrique Realtime Compute for Apache Flink. Notez qu'un cluster Flink construit avec Flink open source sur ECS Alibaba Cloud reste classé comme Flink communautaire dans le tableau ci-dessus.

Obtenir les informations de connexion de LindormTable

  • Scénario 1 : Utilisation du connecteur HBase open source ou du connecteur Lindorm pour base de données multi-modèles cloud native Dans ce scénario, l'adresse de connexion doit être l'adresse d'accès à l'API Java HBase (VPC) du moteur de tables larges. Sur la page des détails de l'instance Lindorm, cliquez sur Database connections dans le menu de gauche, puis sélectionnez l'onglet Wide Table Engine. Dans la zone Connect through HBase-compatible address, récupérez l'adresse VPC au format ld-<instance-ID>-proxy-lindorm.lindorm.rds.aliyuncs.com:30020. Dans la zone Connect through MySQL-compatible address, récupérez l'adresse compatible MySQL au format ld-<instance-ID>-proxy-sql-lindorm.lindorm.rds.aliyuncs.com:33060.

  • Scénario 2 : Utilisation du connecteur JDBC Dans ce scénario, l'adresse de connexion doit être l'adresse compatible MySQL (VPC) du moteur de tables larges. Sur la page des détails de l'instance Lindorm, cliquez sur Database connections dans le volet de navigation de gauche, puis sélectionnez l'onglet Wide Table Engine. Dans la zone Connect through HBase-compatible address, vous pouvez consulter l'adresse VPC de l'API Java HBase (au format ld-<instance-ID>-proxy-lindorm.rds.aliyuncs.com:30020).

Remarque

Méthode d'accès à LindormTable par un job Flink

Vous pouvez développer votre solution en suivant l'approche générale du framework de calcul en temps réel sélectionné. Pour accéder à LindormTable dans un job, reportez-vous aux documents suivants en fonction du connecteur choisi, afin de permettre à votre job de calcul d'accéder à LindormTable.

Prérequis

  • Si vous utilisez Realtime Compute for Apache Flink pour développer un job accédant à LindormTable, aucune restriction de version ne s'applique au moteur de tables larges.

  • Assurez-vous que l'environnement où se trouve le cluster Flink dispose d'une connectivité réseau avec l'instance Lindorm et que les adresses IP du client ont été ajoutées à la liste blanche de Lindorm. Pour savoir comment ajouter des adresses IP à la liste blanche, consultez la rubrique Configurer une liste blanche.

Développement de jobs avec Flink communautaire

Connecteur HBase open source

Important

Lorsque vous utilisez Flink communautaire pour développer un job accédant aux tables HBase, si vous souhaitez accéder aux tables via Internet ou si l'instance Lindorm cible est une instance mono-nœud Lindorm, vous devez mettre à niveau le SDK et modifier la configuration avant d'effectuer les opérations suivantes.

Pour plus de détails, consultez l'étape 1 de la rubrique Se connecter et utiliser LindormTable via l'API Java HBase.

Pour savoir comment utiliser le connecteur HBase open source afin de créer une table de dimension et une table de résultats, consultez la documentation du connecteur HBase.

Connecteur JDBC open source

Lorsque vous utilisez le connecteur JDBC open source pour accéder à une LindormTable, seule l'utilisation de LindormTable en tant que table de résultats est actuellement prise en charge. Pour une utilisation globale, reportez-vous à la documentation officielle du connecteur JDBC. Toutefois, certains points requièrent une attention particulière, comme indiqué ci-dessous :

  • Exigences en matière de dépendances Contrairement à la plage relativement large de versions de packages de dépendances indiquée dans la documentation officielle, les versions des packages de dépendances utilisées par le connecteur JDBC pour accéder aux tables Lindorm sont actuellement limitées à la liste suivante :

    • flink-connector-jdbc-core-4.0.0-2.0.jar

    • flink-connector-jdbc-mysql-4.0.0-2.0.jar

    • mysql-connector-j-8.3.0.jar

    Le package de dépendance du pilote JDBC MySQL peut être téléchargé depuis la communauté.

  • Paramètres du connecteur JDBC Étant donné que l'utilisation en tant que table source et table de dimension n'est pas prise en charge, les paramètres liés à ces fonctionnalités ne sont pas pris en charge (tels que les paramètres préfixés par scan comme scan.fetch-size, et les paramètres préfixés par lookup comme lookup.cache). Recommandations pour certains paramètres du connecteur JDBC :

    • url : Nous vous recommandons de suivre la rubrique Utiliser les API Java JDBC pour développer des applications pour la configuration.

    • username : Utilisez le nom d'utilisateur créé dans l'instance Lindorm.

    • password : Le mot de passe associé au nom d'utilisateur.

    • connector, table-name : Suivez les recommandations de la communauté du connecteur JDBC.

    • Paramètres sink : Ajustez finement en fonction de la situation réelle du job.

  • Mappage des types de données Le mappage entre les types de données Flink et les types de données Lindorm peut généralement suivre celui des types de données MySQL (consultez la section Mappage des types de données de la documentation du connecteur JDBC). Cependant, certains types de données dans Lindorm ne correspondent pas à ceux de MySQL. Par exemple, les types MySQL suivants, prétendument pris en charge par le connecteur JDBC, ne sont pas pris en charge par Lindorm :

    • Type MEDIUMINT

    • Type DATETIME

    • Types UNSIGNED autres que BIGINT UNSIGNED

L'exemple suivant utilise Flink SQL pour définir un job accédant à une LindormTable via le connecteur JDBC. Dans cet exemple, supposons qu'une table nommée testflink a été définie dans le moteur de tables larges de Lindorm.

# Create Flink table and start the job
CREATE TABLE source_table(
    c1 INT,
    c2 STRING
) WITH (
  'connector' = 'datagen',
  'rows-per-second' = '2',
  'fields.c2.length' = '5',
  'fields.c1.min' = '1',
  'fields.c1.max' = '100'
);

CREATE TABLE sink_table(
    c1 INT,
    c2 STRING
) WITH (
    'connector' = 'jdbc',
    'url' = 'jdbc:mysql://ld-xxxxx-proxy-lindorm.lindorm.rds.aliyuncs.com:33060/default?sslMode=disabled&allowPublicKeyRetrieval=true&useServerPrepStmts=true&useLocalSessionState=true&rewriteBatchedStatements=true&cachePrepStmts=true&prepStmtCacheSize=300&prepStmtCacheSqlLimit=50000000',
    'username' = 'root',
    'password' = 'root',
    'table-name' = 'testflink'
);

INSERT INTO sink_table SELECT * FROM source_table;

Développement de jobs avec Realtime Compute for Apache Flink

Connecteur Lindorm pour base de données multi-modèles cloud native

  • Dans le développement de jobs Realtime Compute for Apache Flink, vous pouvez développer des jobs accédant au moteur de tables larges de Lindorm en utilisant Flink SQL. Pour plus de détails sur le développement de jobs Realtime Compute for Apache Flink, consultez la rubrique Aperçu du développement de jobs.

  • Pour savoir comment utiliser le connecteur afin de créer une table de dimension et une table de résultats, consultez la documentation Connecteur Lindorm pour base de données multi-modèles cloud native.