Tous les produits
Search
Centre de documentation

AnalyticDB:Synchroniser les données SLS à l'aide d'APS (recommandé)

Dernière mise à jour :Aug 10, 2026

AnalyticDB for MySQL met à disposition AnalyticDB Pipeline Service (APS) pour la synchronisation des données en temps réel. Créez une tâche de synchronisation pour ingérer les données d'un Logstore AnalyticDB for MySQL vers un cluster AnalyticDB for MySQL, en démarrant à partir d'un offset spécifique. APS prend en charge l'analyse quasi temps réel, l'archivage complet des données historiques et l'analyse élastique.

Prérequis

Remarques relatives à l'utilisation

  • Chaque table d'un cluster AnalyticDB for MySQL ne peut être synchronisée qu'avec un seul Logstore SLS.

  • Après l'ingestion des données, une opération de validation (commit) est nécessaire pour rendre les données visibles. Afin de garantir la stabilité de la tâche et des performances optimales en lecture/écriture, la fonctionnalité de synchronisation des données AnalyticDB for MySQL utilise un intervalle de validation par défaut de 5 minutes. Par conséquent, après avoir créé et démarré une tâche de synchronisation des données, vous devez attendre au moins 5 minutes avant de voir le premier lot de données.

Facturation

La synchronisation des données via AnalyticDB for MySQL entraîne les frais suivants :

Procédure

Configurer l'autorisation Resource Access Management (RAM)

Pour synchroniser les données SLS vers AnalyticDB for MySQL entre différents comptes Alibaba Cloud, créez un rôle RAM dans le compte source, accordez les autorisations requises et modifiez la stratégie d'approbation. Si vous synchronisez les données SLS au sein du même compte, ignorez cette étape et passez directement à Créer une source de données.

  1. Créez un rôle RAM. Pour plus d'informations, consultez la rubrique Créer un rôle RAM pour un compte Alibaba Cloud approuvé.

    Remarque

    Lors de la configuration du paramètre Select Trusted Alibaba Cloud Account, sélectionnez Another Alibaba Cloud Account et saisissez l'ID du compte Alibaba Cloud auquel appartient le cluster AnalyticDB for MySQL. Accédez au Centre de compte et consultez l'Account ID sur la page Overview.

  2. Accordez l'autorisation AliyunAnalyticDBAccessingLogRolePolicy au rôle RAM. Pour plus d'informations, consultez la rubrique Accorder des autorisations à un rôle RAM.

  3. Modifiez la stratégie d'approbation du rôle RAM. Pour plus d'informations, consultez la rubrique Modifier la stratégie d'approbation d'un rôle RAM.

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "RAM": [
                "acs:ram::<Alibaba Cloud Account ID>:root"
            ],
            "Service": [
                "<Alibaba Cloud Account ID>@ads.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }
    Remarque

    L'ID du compte Alibaba Cloud correspond à celui que vous avez saisi à l'étape 1. N'incluez pas les chevrons (<>) lors de la configuration du paramètre.

Créer une source de données

Remarque

Si vous disposez déjà d'une source de données, ignorez cette étape et passez directement à Créer une tâche de synchronisation.

  1. Connectez-vous à la console AnalyticDB for MySQL. Dans le coin supérieur gauche de la console, sélectionnez une région. Dans le volet de navigation de gauche, cliquez sur Clusters. Localisez le cluster à gérer et cliquez sur son ID.

  2. Dans le volet de navigation de gauche, choisissez Data Ingestion>Data Sources.

  3. Dans le coin supérieur gauche, cliquez sur Create Data Source.

  4. Sur la page Create Data Source, configurez les paramètres suivants.

    Paramètre

    Description

    Data Source Type

    Sélectionnez SLS.

    Data Source Name

    Généré automatiquement en fonction du type de source de données et de l'heure actuelle. Vous pouvez modifier le nom selon vos besoins.

    Data Source Description

    Description de la source de données (scénario d'application, contraintes métier, etc.).

    Deployment Mode

    Seule l'option Alibaba Cloud Instance est prise en charge.

    Region of Simple Log Service Project

    Région où réside le projet SLS.

    Across Alibaba Cloud Accounts

    Indique s'il faut synchroniser les données depuis une source de données SLS située dans un autre compte Alibaba Cloud.

    • Même compte : synchronisez les données SLS du compte actuel vers AnalyticDB for MySQL.

    • Compte croisé : synchronisez les données SLS d'un autre compte vers AnalyticDB for MySQL. Lorsque vous choisissez de synchroniser les données entre comptes, vous devez saisir les champs Alibaba Cloud Account et RAM Role.

      Remarque
      • Alibaba Cloud Account : ID du compte Alibaba Cloud propriétaire des données source.

      • RAM Role : nom du rôle RAM créé dans le compte source. Il s'agit du rôle RAM créé à l'étape 1 de la section « Configurer l'autorisation RAM ».

    Simple Log Service Project

    Projet SLS source.

    Important

    La liste des projets SLS affiche tous les projets appartenant au compte Alibaba Cloud et à ses utilisateurs RAM. Si vous sélectionnez un projet du compte Alibaba Cloud, assurez-vous que l'utilisateur RAM dispose des autorisations nécessaires sur ce projet. Sinon, les données ne pourront pas être synchronisées vers AnalyticDB for MySQL.

    Simple Log Service Logstore

    Logstore SLS source.

  5. Une fois les paramètres configurés, cliquez sur Create.

Créer une tâche de synchronisation

  1. Dans le volet de navigation de gauche, cliquez sur Simple Log Service/Kafka Data Synchronization.

  2. Dans le coin supérieur gauche, cliquez sur Create Synchronization Job.

  3. Sur la page Create Synchronization Job, configurez les paramètres dans les étapes Source and Destination Settings, Destination Database and Table Settings et Synchronization Settings.

    • Le tableau suivant décrit les paramètres pour Source and Destination.

      Paramètre

      Description

      Job Name

      Nom de la tâche de synchronisation. Généré automatiquement en fonction du type de source de données et de l'heure actuelle. Vous pouvez modifier le nom selon vos besoins.

      Data Source

      Sélectionnez une source de données SLS existante ou créez-en une nouvelle.

      Destination Type

      Options prises en charge :

      • Data Lake - User OSS.

      • Data Lake - AnalyticDB Lake Storage (recommandé).

        Important

        Si vous sélectionnez Data Lake - AnalyticDB Lake Storage, vous devez d'abord activer le stockage lacustre.

      ADB Lake Storage

      Nom du stockage lacustre où résident les données AnalyticDB for MySQL.

      Sélectionnez le stockage lacustre de destination dans la liste déroulante. Si aucun stockage lacustre n'existe, cliquez sur Automatically Created dans la liste déroulante pour en créer un.

      Important

      Ce paramètre est requis uniquement lorsque vous définissez le champ Destination Type sur Data Lake - AnalyticDB Lake Storage.

      OSS Path

      Chemin de stockage dans OSS pour les données lakehouse AnalyticDB for MySQL.

      Important
      • Ce paramètre est requis uniquement lorsque le champ Destination Type est défini sur Data Lake - User OSS.

      • La liste déroulante affiche tous les buckets situés dans la même région que le cluster AnalyticDB for MySQL. Vous pouvez sélectionner n'importe lequel d'entre eux. Planifiez soigneusement le chemin de stockage. Vous ne pourrez pas modifier ce chemin une fois la tâche créée.

      • Nous vous recommandons de sélectionner un répertoire vide. Le chemin OSS ne doit pas être un préfixe du chemin OSS d'une autre tâche de synchronisation, ni vice versa. Cela permet d'éviter l'écrasement des données. Par exemple, si deux tâches de synchronisation ont les chemins OSS oss://testBucketName/test/sls1/ et oss://testBucketName/test/, les chemins ont une relation de préfixe et les données risquent d'être écrasées pendant la synchronisation.

      Storage Format

      Format de stockage des données. Options prises en charge :

      • PAIMON.

        Important

        Ce format est pris en charge uniquement lorsque le champ Destination Type est défini sur Data Lake - User OSS.

      • ICEBERG.

    • Le tableau suivant décrit les paramètres pour Destination Database and Table Settings.

      Paramètre

      Description

      Database Name

      Nom de la base de données de destination dans AnalyticDB for MySQL. Si une base de données portant le nom spécifié n'existe pas, une nouvelle base de données est créée. Si une base de données portant le nom spécifié existe déjà, les données sont synchronisées vers celle-ci. Pour plus d'informations sur les conventions de nommage, consultez la rubrique Limites.

      Important

      Dans la section Source and Destination Settings, si le champ Storage Format est défini sur PAIMON, une base de données existante doit répondre aux conditions suivantes. Sinon, la tâche de synchronisation échouera :

      • La base de données doit être externe. L'instruction CREATE DATABASE doit être CREATE EXTERNAL DATABASE <database_name>.

      • La clause DBPROPERTIES de l'instruction CREATE DATABASE doit inclure la propriété catalog, et la valeur de catalog doit être paimon.

      • La clause DBPROPERTIES doit inclure la propriété adb.paimon.warehouse. Exemple : adb.paimon.warehouse=oss://testBucketName/aps/data.

      • La clause DBPROPERTIES doit inclure la propriété LOCATION, et vous devez ajouter .db au nom de la base de données dans le chemin. Sinon, les requêtes XIHE échoueront. Exemple : LOCATION='oss://testBucketName/aps/data/kafka_paimon_external_db.db/'.

        Pour le chemin OSS spécifié par LOCATION, le bucket et le répertoire doivent exister. Sinon, la création de la base de données échouera.

      Table Name

      Nom de la table de destination dans AnalyticDB for MySQL. Si une table portant le nom spécifié n'existe pas dans la base de données, une nouvelle table est créée. Si une table portant le nom spécifié existe déjà dans la base de données, la synchronisation des données échouera. Pour plus d'informations sur les conventions de nommage, consultez la rubrique Limites.

      Schema Field Mapping

      Par défaut, les champs sont récupérés à partir de la configuration de la tâche d'expédition (shipping job) de SLS. Si aucune tâche d'expédition n'est configurée pour le Logstore, les champs sont récupérés à partir des dernières données de journal.

      • Types de données pris en charge : BOOLEAN, INT, BIGINT, FLOAT, DOUBLE et STRING.

      • Les champs réservés SLS peuvent également être synchronisés. Pour plus d'informations, consultez la rubrique Champs réservés.

      Important
      • Vous ne pouvez pas modifier les noms des champs de destination.

      • Si la tâche a déjà été exécutée (y compris les tâches en cours d'exécution ou terminées), vous ne pouvez pas modifier les informations de colonne existantes, mais vous pouvez ajouter de nouvelles colonnes. Si la tâche est créée mais n'a pas encore été démarrée, vous pouvez la modifier selon vos besoins.

      Partition Key Settings

      Définissez une clé de partition pour la table de destination. Nous vous recommandons de partitionner par heure de journal ou par logique métier afin d'améliorer les performances d'ingestion et de requête. Si vous ne définissez pas ce paramètre, la table de destination n'est pas partitionnée par défaut.

      Vous pouvez formater la clé de partition de destination par heure ou par un champ de partition spécifié.

      • Pour partitionner les données par date et heure, sélectionnez un champ de type date/heure comme champ de clé de partition. Pour la méthode de formatage, sélectionnez le formatage temporel, puis spécifiez le format du champ source et le format de la partition de destination. AnalyticDB for MySQL utilise le format du champ source pour identifier la valeur du champ, puis la convertit au format de partition de destination. Par exemple, si le champ source est gmt_created avec une valeur de 1711358834, le format du champ source est un horodatage avec une précision à la seconde, et le format de partition de destination est yyyyMMdd, les données seront partitionnées par 20240325.

      • Pour partitionner les données par valeur de champ, sélectionnez Specify partition field comme méthode de formatage.

    • Le tableau suivant décrit les paramètres pour Synchronization Settings.

      Paramètre

      Description

      Starting Consumer Offset for Incremental Synchronization

      Offset à partir duquel la tâche de synchronisation commence à consommer les données SLS. Options :

      • Earliest offset (begin_cursor) : consomme les données à partir de l'offset le plus ancien disponible dans le Logstore.

      • Latest offset (end_cursor) : consomme les données à partir du dernier offset dans le Logstore.

      • Custom : vous pouvez sélectionner n'importe quel point dans le temps. Le système commence à consommer les données à partir du premier enregistrement dans SLS qui se situe à cet instant ou après.

      Job Resource Group

      Groupe de ressources qui exécute la tâche de synchronisation.

      ACUs for Incremental Synchronization

      Spécifiez le nombre d'unités de calcul AnalyticDB (ACU) dans le groupe de ressources de tâches pour la tâche. La valeur minimale est 2. La valeur maximale correspond au nombre de ressources de calcul disponibles dans le groupe de ressources de tâches. Nous vous recommandons d'allouer davantage d'ACU pour améliorer les performances d'ingestion et la stabilité de la tâche.

      Remarque

      Lorsque vous créez une tâche de synchronisation des données, celle-ci utilise des ressources élastiques du groupe de ressources de tâches. Les tâches de synchronisation des données occupent des ressources pendant une longue période, de sorte que le système déduit les ressources utilisées par la tâche du groupe de ressources de tâches. Par exemple, si un groupe de ressources de tâches dispose d'un maximum de 48 ACU et qu'une tâche de synchronisation existante utilise 8 ACU, le nombre maximal d'ACU disponibles pour une autre tâche dans le même groupe de ressources de tâches est de 40.

      Advanced Settings

      Paramètres avancés permettant de personnaliser la tâche de synchronisation. Contactez le support technique si vous devez effectuer des configurations personnalisées.

  4. Une fois les paramètres configurés, cliquez sur Submit.

Démarrer la tâche de synchronisation des données

  1. Sur la page Simple Log Service/Kafka Data Synchronization, sélectionnez la tâche de synchronisation des données et cliquez sur Start dans la colonne Actions.

  2. Cliquez sur Search dans le coin supérieur gauche. La tâche a démarré avec succès lorsque son statut passe à Running.

Analyse des données

Une fois la tâche de synchronisation terminée avec succès, vous pouvez utiliser le développement Spark Jar pour analyser les données dans AnalyticDB for MySQL. Pour plus d'informations sur le développement Spark, consultez les rubriques Éditeur de développement Spark et Développement d'applications Spark hors ligne.

  1. Dans le volet de navigation de gauche, cliquez sur Job Development > Spark JAR Development.

  2. Dans le modèle par défaut, saisissez les exemples d'instructions et cliquez sur Run Now.

    -- Here is just an example of SparkSQL. Modify the content and run your spark program.
    
    conf spark.driver.resourceSpec=medium;
    conf spark.executor.instances=2;
    conf spark.executor.resourceSpec=medium;
    conf spark.app.name=Spark SQL Test;
    conf spark.adb.connectors=oss;
    
    -- Here are your sql statements
    show tables from lakehouse20220413156_adbTest;
  3. Facultatif : Dans l'onglet Applications, cliquez sur Logs dans la colonne Actions pour afficher le journal d'exécution de la tâche Spark SQL.

Gérer les sources de données

Dans le volet de navigation de gauche, cliquez sur Data Ingestion>Data Sources. Vous pouvez effectuer les actions suivantes dans la colonne Actions.

Actions

Description

Create Job

Crée une tâche de synchronisation ou de migration des données pour la source de données.

View

Affiche la configuration détaillée de la source de données.

Edit

Permet de modifier les propriétés de la source de données, telles que son nom et sa description.

Delete

Supprime la source de données.

Remarque

Vous ne pouvez pas supprimer une source de données associée à une tâche de synchronisation ou de migration des données. Vous devez d'abord supprimer la tâche sur la page Simple Log Service/Kafka Data Synchronization. Pour ce faire, localisez la tâche cible et, dans la colonne Actions, cliquez sur Delete.