Tous les produits
Search
Centre de documentation

Object Storage Service:Utilisation de JindoSDK avec Impala pour interroger des données stockées dans OSS-HDFS

Dernière mise à jour :Aug 18, 2026

JindoSDK est un client OSS développé pour les écosystèmes Hadoop et Spark. Il implémente un système de fichiers Hadoop hautement optimisé basé sur OSS. Par rapport au client OSS de la communauté Hadoop, JindoSDK offre de meilleures performances lors de l'interrogation de données stockées dans OSS-HDFS (JindoFS) via Impala.

Prérequis

Procédure

  1. Connectez-vous à l'instance ECS. Reportez-vous à la section Connexion à une instance ECS pour obtenir des instructions détaillées.

  2. Configurez JindoSDK.

    1. Téléchargez la dernière version du package JAR JindoSDK. Pour télécharger JindoSDK, rendez-vous sur GitHub..

    2. Décompressez le package JAR JindoSDK.

      L'exemple suivant illustre la décompression d'un package nommé jindosdk-x.x.x-linux.tar.gz. Remplacez le nom du package par la version réelle que vous avez téléchargée.

      tar zxvf jindosdk-x.x.x-linux.tar.gz
      Remarque

      x.x.x représente le numéro de version du package JAR JindoSDK.

    3. Copiez le package JAR JindoSDK téléchargé vers le chemin spécifié par classpath.

      cp jindosdk-x.x.x-linux/lib/*.jar  $HIVE_HOME/lib/
  3. Configurez la classe d'implémentation d'OSS-HDFS et spécifiez la paire AccessKey à utiliser pour accéder au bucket.

    1. Configurez la classe d'implémentation d'OSS-HDFS dans le fichier core-site.xml d'Impala.

      <configuration>
          <property>
              <name>fs.AbstractFileSystem.oss.impl</name>
              <value>com.aliyun.jindodata.oss.JindoOSS</value>
          </property>
      
          <property>
              <name>fs.oss.impl</name>
              <value>com.aliyun.jindodata.oss.JindoOssFileSystem</value>
          </property>
      </configuration>
    2. Dans le fichier core-site.xml d'Impala, spécifiez l'AccessKey ID et l'AccessKey Secret du compte utilisé pour accéder au bucket activé pour OSS-HDFS.

      <configuration>
          <property>
              <name>fs.oss.accessKeyId</name>
              <value>LTAI********</value>
          </property>
      
          <property>
              <name>fs.oss.accessKeySecret</name>
              <value>KZo1********</value>
          </property>
      </configuration>
  4. Configurez l'endpoint d'OSS-HDFS.

    Vous devez spécifier l'endpoint d'OSS-HDFS si vous souhaitez utiliser ce service pour accéder aux buckets dans Object Storage Service (OSS). Nous vous recommandons de configurer le chemin d'accès à OSS-HDFS selon le format oss://{yourBucketName}.{yourBucketEndpoint}/{path} (exemple : oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt). Une fois le chemin d'accès configuré, JindoSDK appelle l'opération OSS-HDFS correspondante en fonction de l'endpoint spécifié dans ce chemin.

    Il est également possible de configurer l'endpoint d'OSS-HDFS par d'autres méthodes. Les endpoints configurés via différentes approches ont des priorités distinctes. Pour plus d'informations, consultez la rubrique Démarrage rapide : Connexion d'un cluster non-EMR au service OSS-HDFS.

  5. Utilisez Impala pour interroger les données stockées dans OSS-HDFS.

    1. Créez une table.

      CREATE EXTERNAL TABLE customer_demographics (
       `cd_demo_sk` INT,
       `cd_gender` STRING,
       `cd_marital_status` STRING,
       `cd_education_status` STRING,
       `cd_purchase_estimate` INT,
       `cd_credit_rating` STRING,
       `cd_dep_count` INT,
       `cd_dep_employed_count` INT,
       `cd_dep_college_count` INT)
      STORED AS PARQUET
      LOCATION 'oss://bucket.endpoint/dir';
    2. Interrogez les données de la table.

      select * from customer_demographics;