Tous les produits
Search
Centre de documentation

E-MapReduce:Archive and unarchive data in SDK mode

Dernière mise à jour :Sep 17, 2026

Utilisez les commandes archiveTable et unarchiveTable de JindoTable pour déplacer des tables et partitions Hive entre les classes de stockage OSS, sans avoir besoin du composant Jindo Namespace Service de SmartData.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Un cluster E-MapReduce (EMR) exécutant EMR V3.36.0 ou version ultérieure, ou EMR V5.2.0 ou version ultérieure

  • Une table partitionnée ou non partitionnée stockée dans OSS (seules les données de la table peuvent être archivées)

  • Un accès SSH au cluster

Contexte

Les commandes originales archive et unarchive de JindoTable dépendent du composant Jindo Namespace Service de SmartData. Les commandes archiveTable et unarchiveTable suppriment cette dépendance, ce qui signifie que :

  • Elles fonctionnent sur des clusters où SmartData n'est pas déployé, y compris les clusters gérés par l'utilisateur.

  • Elles prennent en charge des paramètres de filtre pour l'archivage multithread sur de grands ensembles de partitions. Si le multithreading local ne suffit pas, utilisez MapReduce pour distribuer la charge de travail sur l'ensemble du cluster.

Pour la documentation sur les commandes originales, consultez Utiliser JindoTable.

Transitions entre classes de stockage

Le tableau suivant indique les classes de stockage cibles pour chaque commande et les fichiers ignorés lors de l'opération.

archiveTable

Indicateur Classe de stockage cible Fichiers ignorés
-i Infrequent Access (IA) Archive, Cold Archive
-a Archive Cold Archive
-ca Cold Archive Aucun

unarchiveTable

Indicateur Classe de stockage résultante Fichiers ignorés
(aucun) Standard Aucun
-i Infrequent Access (IA) Standard
-a Archive Standard, IA
-o Inchangée (restauration temporaire uniquement) Standard, IA, fichiers précédemment restaurés
-cr Aucune modification (vérification du statut de restauration uniquement) N/A
Remarque

La classe de stockage des données Cold Archive ne peut passer à Standard, IA ou Archive qu'après le désarchivage complet des données.

Archiver des tables ou des partitions

Utilisez archiveTable pour déplacer les données de table OSS vers une classe de stockage moins coûteuse.

  1. Connectez-vous à votre cluster via SSH. Consultez Se connecter à un cluster.

  2. Exécutez la commande suivante pour afficher l'aide complète :

    jindo table -help archiveTable
  3. Archivez des tables ou des partitions avec la syntaxe suivante :

    -archiveTable -t <dbName.tableName> \
    -i/-a/-ca \
    [-c "<condition>" | -fullTable] \
    [-b/-before <before days>] \
    [-p/-parallel <parallelism>] \
    [-mr/-mapReduce] \
    [-e/-explain] \
    [-w/-workingDir <working directory>] \
    [-l/-logDir <log directory>]

Paramètres

Paramètre Description Obligatoire
-t <dbName.tableName> Table à archiver, au format database_name.table_name . Prend en charge les tables partitionnées et non partitionnées. Oui
-i / -a / -ca Classe de stockage cible : -i pour Infrequent Access (IA), -a pour Archive, -ca pour Cold Archive. Consultez la section Transitions entre classes de stockage pour les règles d'exclusion. Oui
-c "<condition>" / -fullTable Étendue de l'archivage : utilisez -fullTable pour l'ensemble de la table, ou -c "<condition>" pour archiver uniquement les partitions correspondantes. Prend en charge les opérateurs de comparaison standard. Oui
-b / -before <before days> Archive uniquement les tables ou partitions créées il y a au moins N jours. Non
-p / -parallel <parallelism> Nombre de threads d'archivage parallèles. Non
-mr / -mapReduce Utilise Hadoop MapReduce au lieu du multithreading local. Non
-e / -explain Simulation : liste les partitions qui seraient archivées sans effectuer de modifications. Non
-w / -workingDir <directory> Répertoire de travail pour le job MapReduce. Doit disposer des permissions de lecture et d'écriture. Des fichiers temporaires sont créés pendant le job et supprimés automatiquement à la fin. Non
-l / -logDir <directory> Répertoire pour les fichiers journaux. Non

Exemples

Aperçu des partitions qui seront archivées (simulation) :

-archiveTable -t mydb.mytable -a -c " ds > 'd' " -e

Archiver toutes les partitions d'une table vers Cold Archive :

-archiveTable -t mydb.mytable -ca -fullTable

Archiver les partitions où la colonne ds est supérieure à 'd', créées il y a plus de 30 jours :

-archiveTable -t mydb.mytable -a -c " ds > 'd' " -b 30

Désarchiver des tables ou des partitions

Utilisez unarchiveTable pour restaurer les données de table OSS depuis un stockage archivé. Sa syntaxe est similaire à celle de archiveTable, avec deux différences : l'indicateur de classe de stockage (-i/-a/-o/-cr) est facultatif, et l'indicateur -notWait est disponible pour les restaurations Cold Archive.

  1. Connectez-vous à votre cluster via SSH. Consultez Se connecter à un cluster.

  2. Exécutez la commande suivante pour afficher l'aide complète :

    jindo table -help unarchiveTable
  3. Désarchivez des tables ou des partitions avec la syntaxe suivante :

    -archiveTable -t <dbName.tableName> \
    [-i/-a/-o/-cr] \
    [-notWait] \
    [-c "<condition>" | -fullTable] \
    [-b/-before <before days>] \
    [-p/-parallel <parallelism>] \
    [-mr/-mapReduce] \
    [-e/-explain] \
    [-w/-workingDir <working directory>] \
    [-l/-logDir <log directory>]

Paramètres spécifiques à unarchiveTable

Tous les paramètres de archiveTable s'appliquent. Les paramètres suivants diffèrent ou sont nouveaux :

Paramètre Description Obligatoire
-i / -a / -o / -cr Classe de stockage cible après désarchivage. Si omis, les données sont restaurées vers Standard. Consultez la section Transitions entre classes de stockage pour plus de détails. Non
-notWait Valide uniquement lors du désarchivage des données. Soumet la demande de désarchivage pour les données Cold Archive et retourne immédiatement sans attendre la fin de l'opération. Non

Exemples

Aperçu des partitions qui seront restaurées (simulation) :

-archiveTable -t mydb.mytable -a -c " ds > 'd' " -e

Restaurer toutes les partitions vers le stockage Standard :

-archiveTable -t mydb.mytable -fullTable

Restaurer les partitions vers le stockage Archive, en ignorant les fichiers Standard et IA :

-archiveTable -t mydb.mytable -a -c " ds > 'd' "

Restaurer temporairement les partitions Cold Archive sans modifier la classe de stockage :

-archiveTable -t mydb.mytable -o -c " ds > 'd' "

Soumettre une demande de désarchivage Cold Archive sans attendre :

-archiveTable -t mydb.mytable -fullTable -notWait

Vérifier si les fichiers Archive ou Cold Archive ont été entièrement restaurés :

-archiveTable -t mydb.mytable -cr -fullTable

Étapes suivantes

  • Pour créer un cluster EMR, consultez Créer un cluster.

  • Pour utiliser les commandes d'archivage JindoTable originales (nécessite Jindo Namespace Service), consultez Utiliser JindoTable.