Tous les produits
Search
Centre de documentation

Data Lake Formation:Accéder aux données DLF depuis EMR sur ECS via l'interface du système de fichiers

Dernière mise à jour :Aug 24, 2026

Cette rubrique explique comment accéder au système de fichiers virtuel Paimon (PVFS) dans un environnement EMR sur ECS.

Prérequis

  • Créez un cluster EMR (version 5.12.0 ou ultérieure) en sélectionnant les composants Spark3 et Paimon. Si vous avez besoin d'une version différente, contactez l'équipe de développement Data Lake Formation (DLF) en rejoignant le groupe DingTalk (106575000021).

  • Un Catalogue DLF est créé.

  • Le cluster EMR et DLF se trouvent dans la même région, et le VPC du cluster EMR a été ajouté à la liste d'autorisation de DLF.

Accorder des autorisations DLF à un rôle

  1. Accordez des autorisations RAM au rôle AliyunECSInstanceForEMRRole. (Cette étape n'est pas requise une fois la fonctionnalité intégrée à EMR.)

    1. Connectez-vous à la console RAM avec votre compte Alibaba Cloud ou en tant qu'administrateur RAM.

    2. Choisissez Identities > Roles, puis recherchez le rôle AliyunECSInstanceForEMRRole.

    3. Dans la colonne Actions, cliquez sur Add Permissions.

    4. Dans la section Permission policy, recherchez et sélectionnez AliyunDLFFullAccess. Cliquez ensuite sur OK.

  2. Accordez des autorisations DLF au rôle AliyunECSInstanceForEMRRole.

    1. Connectez-vous à la console Data Lake Formation.

    2. Sur la page de liste Catalog, cliquez sur le nom de votre catalogue pour ouvrir sa page de détails.

    3. Cliquez sur l'onglet Permissions, puis cliquez sur Grant.

    4. Configurez les paramètres suivants et cliquez sur OK.

      • User/Role : Sélectionnez RAM User/RAM Role.

      • Select Authorization Object : Dans la liste déroulante, sélectionnez AliyunECSInstanceForEMRRole.

        Remarque

        Si vous ne trouvez pas AliyunECSInstanceForEMRRole dans la liste déroulante, accédez à la page de gestion des utilisateurs et cliquez sur Sync.

      • Preset Permission Type : Sélectionnez Data Editor.

Mettre à niveau les dépendances Paimon dans le cluster

  • Mettez à niveau les dépendances suivantes vers la version 1.3 ou ultérieure :

  • Selon votre version de Spark, sélectionnez la dépendance paimon-spark correspondante et mettez-la à niveau vers la version 1.3 ou ultérieure.

    Depuis le référentiel Maven, sélectionnez la dépendance appropriée. Par exemple, si vous utilisez Spark 3.2, choisissez paimon-spark-3.2-1.3.0 ou une version ultérieure.

  1. Téléchargez les dépendances.

    Téléchargez les quatre packages de dépendances vers OSS et définissez leurs autorisations de fichier sur Public Read. Pour plus d'informations, consultez la rubrique Téléchargement simple.

  2. Écrivez un script et téléchargez-le sur OSS.

    #!/bin/bash
    echo 'prepare paimon-vfs in hadoop classpath'
    cd /opt/apps/JINDOSDK/jindosdk-current/lib
    rm -rf paimon-*
    wget ${paimon_vfs_jar}
    wget ${paimon_jindo_jar}
    wget ${paimon_bundle_jar}
    echo 'prepare paimon-spark in spark classpath'
    rm -rf /opt/apps/PAIMON/paimon-dlf
    rm -rf /opt/apps/PAIMON/paimon-dlf.tar.gz.*
    mkdir -p /opt/apps/PAIMON/paimon-dlf/lib/spark3
    cd /opt/apps/PAIMON/paimon-dlf/lib/spark3
    wget ${paimon_spark_jar}
    rm -f /opt/apps/PAIMON/paimon-current
    ln -sf /opt/apps/PAIMON/paimon-dlf /opt/apps/PAIMON/paimon-current
    Important

    Remplacez les espaces réservés dans le script, tels que ${paimon_vfs_jar}, ${paimon_jindo_jar}, ${paimon_bundle_jar} et ${paimon_spark_jar}, par leurs chemins de téléchargement OSS. Par défaut, les clusters EMR sur ECS ne peuvent pas accéder au réseau public. Exemples :

    • Réseau interne : https://{bucket}.oss-cn-hangzhou-internal.aliyuncs.com/jars/paimon-jindo-1.3.0.jar.

    • Réseau public : https://{bucket}.oss-cn-hangzhou.aliyuncs.com/jars/paimon-jindo-1.3.0.jar.

  3. Exécutez le script sur le cluster EMR à l'aide d'une action de script. Pour plus d'informations, consultez la rubrique Exécuter un script manuellement.

    1. Dans la console du cluster EMR, accédez à l'onglet Script actions > Run Manually, puis cliquez sur Create and Run.

    2. Configurez les paramètres suivants et cliquez sur OK.

      • Name : Saisissez un nom personnalisé pour le script.

      • Script Location : Sélectionnez le script de mise à niveau que vous avez téléchargé sur OSS. Le chemin du script doit être au format oss://**/*.sh.

      • Execution scope : Sélectionnez Cluster.

  4. Une fois le script exécuté, redémarrez les services Spark et Hive pour que les modifications prennent effet.

Mettre à jour la configuration du cluster EMR

  1. Dans la console du cluster EMR, accédez à Cluster services > Hadoop-Common > Configure.

  2. Dans la section core-site.xml, cliquez sur Add configuration item.

    Paramètre

    Valeur

    fs.AbstractFileSystem.pvfs.impl

    org.apache.paimon.vfs.hadoop.Pvfs

    fs.pvfs.impl

    org.apache.paimon.vfs.hadoop.PaimonVirtualFileSystem

    fs.pvfs.uri

    cn-hangzhou-vpc.dlf.aliyuncs.com

    Remarque

    Remplacez la valeur par le endpoint de votre région. Pour plus d'informations, consultez la rubrique Endpoints.

    fs.pvfs.token.provider

    dlf

    fs.pvfs.dlf.token-loader

    ecs

Accéder aux fichiers dans DLF

Après avoir créé une Table d'objets, vous pouvez accéder à ses données en utilisant le schéma pvfs://.

Accéder aux données via le shell Hadoop

Téléchargez un fichier CSV vers la Table d'objets en utilisant le shell Hadoop.

# Upload the CSV file
echo "James,Sales,3000" >> employee.csv
hadoop fs -put employee.csv pvfs://catalog_name/default/object_table/
# List all files in the Object Table
hadoop fs -ls pvfs://catalog_name/default/object_table/
# View the CSV file
hadoop fs -cat pvfs://catalog_name/default/object_table/employee.csv

Accéder aux données via Hive

Vous pouvez interroger le fichier CSV dans la Table d'objets en utilisant Hive.

# Connect to Hive
beeline -u jdbc:hive2://localhost:10000
# Create a temporary table to map the CSV file
CREATE TEMPORARY TABLE temp_table (
    employee_name STRING,
    department STRING,
    salary INT
) 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE 
LOCATION 'pvfs://catalog_name/default/object_table/';
# Query the temporary table
SELECT * FROM temp_table;

Accéder aux données via Spark

Vous pouvez interroger le fichier CSV dans la Table d'objets en utilisant Spark.

# Start spark-sql
spark-sql
# Create a temporary view to map the CSV file
CREATE TEMPORARY VIEW temp_table
USING csv
OPTIONS (
path 'pvfs://catalog_name/default/object_table',
inferSchema 'false',
schema 'employee_name STRING, department STRING, salary INT'
);
# Query the temporary view
SELECT * FROM temp_table;