すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:SDKモードでのデータのアーカイブとアーカイブ解除

最終更新日:Jan 11, 2025

JindoTableでは、SDKモードでarchiveTableコマンドとunarchiveTableコマンドを実行して、オブジェクトストレージサービス(OSS)のデータをアーカイブおよびアーカイブ解除できます。 これらのコマンドは、SmartDataのJindo Namespace Serviceコンポーネントに依存しません。 このトピックでは、archiveTableコマンドとunarchiveTableコマンドの使用方法について説明します。

前提条件

  • E-MapReduce(EMR)クラスターが作成されていること。 詳細については、「クラスターの作成」をご参照ください。
  • アーカイブするパーティションテーブルまたは非パーティションテーブルがOSSに格納されていること。 テーブルデータのみをアーカイブできます。

背景情報

JindoTableの元のarchiveコマンドとunarchiveコマンドを使用して、OSSのテーブルまたはパーティションをアーカイブまたはアーカイブ解除できます。 ただし、これらのコマンドはSmartDataのJindo Namespace Serviceコンポーネントに依存します。 新しいコマンドarchiveTableとunarchiveTableは、Jindo Namespace Serviceコンポーネントに依存しません。

archiveTableコマンドとunarchiveTableコマンドには、archiveコマンドとunarchiveコマンドに比べて次の利点があります。
  • SmartDataサービスがクラスターにデプロイされていない場合でも、archiveTableコマンドとunarchiveTableコマンドを実行できます。 たとえば、セルフマネージドクラスターでコマンドを実行できます。
  • archiveTableコマンドまたはunarchiveTableコマンドでフィルターパラメーターを設定して、複数のスレッドで多数のパーティションを同時にアーカイブまたはアーカイブ解除できます。 ローカルのマルチスレッドがビジネス要件を満たせない場合は、クラスター全体でMapReduceタスクを実行して、データをアーカイブまたはアーカイブ解除できます。

元のarchiveコマンドとunarchiveコマンドの詳細については、「JindoTableの使用」をご参照ください。

制限事項

archiveTableコマンドとunarchiveTableコマンドは、EMR V3.36.0以降のマイナーバージョン、およびEMR V5.2.0以降のマイナーバージョンでのみサポートされています。

archiveTable

archiveTableコマンドを使用して、OSSのテーブルまたはパーティションをアーカイブできます。

  1. SSHモードでクラスターにログオンします。 詳細については、「クラスターへのログオン」をご参照ください。
  2. 次のコマンドを実行して、ヘルプ情報を取得します。
    jindo table -help archiveTable
    archiveTable構文:
    -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>]
    パラメーター説明必須
    -t <dbName.tableName>アーカイブするテーブルの名前。 データベース名.テーブル名 の形式でこのパラメーターを設定する必要があります。

    データベース名とテーブル名はピリオド(.)で区切ります。 テーブルは、パーティションテーブルまたは非パーティションテーブルです。

    はい
    -i/-a/-caデータをアーカイブするストレージクラス。 次のオプションのいずれかを使用して、ストレージクラスを指定できます。
    • -i: 低頻度アクセス(IA)
    • -a: アーカイブ
    • -ca: コールドアーカイブ

    -i オプションをコマンドで使用すると、ストレージクラスがアーカイブまたはコールドアーカイブのファイルはスキップされます。 -a オプションをコマンドで使用すると、ストレージクラスがコールドアーカイブのファイルはスキップされます。

    はい
    -c "<condition>" | -fullTable-fullTable または -c "<condition>" のいずれかを指定する必要があります。
    • -fullTable を指定すると、パーティションテーブルまたは非パーティションテーブル全体がアーカイブされます。
    • -c "<condition>" を指定すると、フィルター条件を満たすパーティションのみがアーカイブされます。 大なり記号(>)などの一般的な演算子がサポートされています。

      たとえば、パーティションキー列がデータ型がStringのds列で、パーティション名が 'd' より大きいパーティションをアーカイブする場合、-c " ds > 'd' " を使用します。

    はい
    -b/before <before days>指定日数以上前に作成されたテーブルまたはパーティションのみをアーカイブできます。いいえ
    -p/-parallel <parallelism>アーカイブ操作の並列度。いいえ
    -mr/-mapReduceローカルのマルチスレッドではなく、Hadoop MapReduceを使用してデータをアーカイブします。いいえ
    -e/-explain説明モードが使用されます。 説明モードでは、アーカイブされるパーティションのリストが表示されますが、データはアーカイブされません。いいえ
    -w/-workingDirMapReduceジョブの作業ディレクトリ。 このオプションは、MapReduceジョブを使用してデータをアーカイブする場合にのみ使用されます。 ディレクトリに対する読み取りおよび書き込み権限が必要です。 ディレクトリは空でも空でなくてもかまいません。 MapReduceジョブの実行時に一時ファイルが作成され、ジョブの完了後に自動的に削除されます。いいえ
    -l/-logDir <log directory>ログファイルが格納されるディレクトリ。いいえ

unarchiveTable

unarchiveTableコマンドの構文は、archiveTableコマンドの構文に似ています。 unarchiveTableコマンドを使用して、OSSのテーブルまたはパーティションをアーカイブ解除できます。

  1. SSHモードでクラスターにログオンします。 詳細については、「クラスターへのログオン」をご参照ください。
  2. 次のコマンドを実行して、ヘルプ情報を取得します。
    jindo table -help unarchiveTable
    unarchiveTable構文:
    -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>]
unarchiveTableコマンドのパラメーターは、次の点でarchiveTableコマンドのパラメーターと異なります。
  • 必須パラメーター -i/-a/-o/-cr-i/-a/-ca の代わりに、オプションパラメーター が使用されます。
  • オプションパラメーター -notWait が使用されます。
パラメーター説明必須
-i/-a/-o/-crコールドアーカイブストレージクラスのデータのストレージクラスの変換。
  • -i/-a/-o/-cr を指定しない場合、データのストレージクラスはコールドアーカイブから標準に変更されます。
    説明 データのストレージクラスは、データが完全にアーカイブ解除された場合にのみ、コールドアーカイブから標準、IA、またはアーカイブに変更できます。
  • -i/-a/-o/-cr を指定した場合、次の説明が優先されます。
    • -i オプションを指定すると、データのストレージクラスはコールドアーカイブからIAに変更されます。 ストレージクラスが標準のファイルはスキップされます。
    • -a オプションを指定すると、データのストレージクラスはコールドアーカイブからアーカイブに変更されます。 ストレージクラスが標準またはIAのファイルはスキップされます。
    • -o オプションを指定すると、データは一時的にアーカイブ解除されるだけで、ストレージクラスは保持されます。 ストレージクラスが標準またはIAのファイルはスキップされます。 以前にアーカイブ解除されたファイルもスキップされます。 これにより、これらのファイルが繰り返しアーカイブ解除されることはありません。
    • -cr オプションを指定して、アーカイブまたはコールドアーカイブストレージに格納されたファイルがアーカイブ解除されているかどうかを確認できます。
いいえ
-notWaitこのパラメーターは、データをアーカイブ解除する場合にのみ有効です。 このパラメーターは、コールドアーカイブストレージに格納されているデータをアーカイブ解除するために使用されます。 このパラメーターを指定すると、システムはアーカイブ解除コマンドを送信するだけで、アーカイブ解除操作の完了を待機しません。いいえ