Tous les produits
Search
Centre de documentation

Object Storage Service:Utiliser Realtime Compute for Apache Flink pour lire ou écrire des données dans OSS ou OSS-HDFS

Dernière mise à jour :Aug 18, 2026

Realtime Compute for Apache Flink vous permet de lire et d'écrire des données depuis et vers Object Storage Service (OSS) ainsi que Hadoop Distributed File System (HDFS) déployé sur OSS (OSS-HDFS). Après avoir configuré les propriétés du connecteur OSS ou OSS-HDFS, Realtime Compute for Apache Flink lit automatiquement les données du chemin spécifié pour les utiliser comme flux d'entrée. Ensuite, le service écrit les résultats du calcul au format défini dans le chemin cible sur OSS ou OSS-HDFS.

Prérequis

  • Activez Fully Managed Flink. Pour plus d'informations, consultez la rubrique Activer Realtime Compute for Apache Flink.

    Une fois Fully Managed Flink activé, l'espace de travail (**workspace**) créé apparaît sous l'onglet Fully Managed Flink dans un délai de 5 à 10 minutes.

  • Créez une tâche SQL.

    Lors de la création de la tâche SQL, sélectionnez un moteur de calcul Flink basé sur Ververica Runtime (VVR) version 8.0.1 ou ultérieure. Pour plus d'informations, consultez la section Créer une tâche.

Limites

  • Vous ne pouvez lire ou écrire des données que dans les services OSS ou OSS-HDFS appartenant au même compte Alibaba Cloud.

  • Lors de l'écriture de données dans OSS, les formats de stockage en lignes tels qu'Avro, CSV, JSON et Raw ne sont pas pris en charge. Pour plus d'informations, consultez FLINK-30635.

Procédure

  1. Accédez à la page de création du brouillon SQL.

    1. Connectez-vous à la console Realtime Compute.

    2. Repérez l'espace de travail Flink cible et cliquez sur Console dans la colonne Actions.

    3. Dans le volet de navigation, cliquez sur Development > ETL.

  2. Dans l'éditeur SQL, saisissez le code DDL (Data Definition Language) et DML (Data Manipulation Language).

    Cet exemple illustre l'écriture des données d'une table source située dans le chemin dir du bucket srcbucket vers une table de destination (sink) dans le chemin test du bucket destbucket.

    Remarque

    Si vous souhaitez utiliser le code suivant pour lire des données depuis OSS-HDFS, assurez-vous que le service OSS-HDFS est activé pour les buckets srcbucket et destbucket.

    CREATE TEMPORARY TABLE source_table (
     `file.name` STRING NOT NULL,
     `file.path` STRING NOT NULL METADATA
    ) WITH (
      'connector'='filesystem',
      'path'='oss://srcbucket/dir/',
      'format'='parquet'
    );
    
    CREATE TEMPORARY TABLE target_table(
     `name` STRING,
     `path` STRING 
    ) with (
      'connector'='filesystem',
      'path'='oss://destbucket/test/',
      'format'='parquet'
    );
    
    INSERT INTO target_table SELECT * FROM source_table ;

    Pour plus d'informations sur les colonnes de métadonnées prises en charge par la table source, telles que file.path et file.name, ainsi que sur l'utilisation des paramètres WITH, consultez la rubrique Connecteur Object Storage Service (OSS).

  3. Cliquez sur Save.

  4. Cliquez sur Advanced Check.

    La fonctionnalité de vérification avancée examine la sémantique SQL de la tâche, la connectivité réseau et les métadonnées des tables utilisées. Vous pouvez également cliquer sur SQL Optimization dans la zone de résultats pour afficher les menaces SQL potentielles et les suggestions d'optimisation correspondantes.

  5. Cliquez sur Deploy.

    Une fois le développement de la tâche terminé et la vérification avancée effectuée, vous pouvez déployer la tâche dans l'environnement de production.

  6. (Facultatif) Cette étape n'est requise que si vous lisez des données depuis un service OSS-HDFS.

    Cliquez sur la tâche. Sous l'onglet Deployment Details, dans la section Running Parameter Configuration, configurez la paire AccessKey, l'endpoint et les autres informations relatives au service OSS-HDFS comme décrit ci-dessous. Ensuite, cliquez sur Save.

    fs.oss.jindo.buckets: srcbucket;destbucket
    fs.oss.jindo.accessKeyId: LTAI**************** 
    fs.oss.jindo.accessKeySecret: yourAccessKeySecret
    fs.oss.jindo.endpoint: cn-hangzhou.oss-dls.aliyuncs.com

    Le tableau suivant décrit les éléments de configuration.

    Élément de configuration

    Description

    fs.oss.jindo.buckets

    Nom du bucket contenant les données de la table source et nom du bucket où seront écrites les données de la table de destination. Séparez les noms des buckets par un point-virgule (;). Exemple : srcbucket;destbucket.

    fs.oss.jindo.accessKeyId

    ID AccessKey de votre compte Alibaba Cloud ou d'un utilisateur RAM. Pour savoir comment obtenir un ID AccessKey, consultez la rubrique Afficher les informations AccessKey d'un utilisateur RAM.

    fs.oss.jindo.accessKeySecret

    Utilisez une clé AccessKey existante ou créez-en une nouvelle. Pour plus d'informations, consultez Créer une paire AccessKey. Remarque : afin de réduire les risques de fuite du secret AccessKey, celui-ci n'est affiché qu'au moment de sa création. Il n'est pas possible de le consulter ultérieurement. Veillez à le stocker en toute sécurité.

    fs.oss.jindo.endpoint

    Endpoint du service OSS-HDFS. Exemple : cn-hangzhou.oss-dls.aliyuncs.com.

  7. Sur la page Job O&M, cliquez sur Start et attendez que la tâche passe à l'état Running.

  8. Consultez les données écrites dans le chemin de stockage spécifié de la table de destination OSS ou OSS-HDFS.

    Si les données sont écrites dans OSS, vous pouvez les visualiser sous l'onglet OSS de la liste des fichiers dans la console OSS. Si les données sont écrites dans OSS-HDFS, vous pouvez les visualiser sous l'onglet HDFS de la liste des fichiers dans la console OSS.