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コンポーネントに依存しません。
- SmartDataサービスがクラスターにデプロイされていない場合でも、archiveTableコマンドとunarchiveTableコマンドを実行できます。 たとえば、セルフマネージドクラスターでコマンドを実行できます。
- archiveTableコマンドまたはunarchiveTableコマンドでフィルターパラメーターを設定して、複数のスレッドで多数のパーティションを同時にアーカイブまたはアーカイブ解除できます。 ローカルのマルチスレッドがビジネス要件を満たせない場合は、クラスター全体でMapReduceタスクを実行して、データをアーカイブまたはアーカイブ解除できます。
元のarchiveコマンドとunarchiveコマンドの詳細については、「JindoTableの使用」をご参照ください。
制限事項
archiveTableコマンドとunarchiveTableコマンドは、EMR V3.36.0以降のマイナーバージョン、およびEMR V5.2.0以降のマイナーバージョンでのみサポートされています。
archiveTable
archiveTableコマンドを使用して、OSSのテーブルまたはパーティションをアーカイブできます。
- SSHモードでクラスターにログオンします。 詳細については、「クラスターへのログオン」をご参照ください。
- 次のコマンドを実行して、ヘルプ情報を取得します。
jindo table -help archiveTablearchiveTable構文:-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/-workingDir MapReduceジョブの作業ディレクトリ。 このオプションは、MapReduceジョブを使用してデータをアーカイブする場合にのみ使用されます。 ディレクトリに対する読み取りおよび書き込み権限が必要です。 ディレクトリは空でも空でなくてもかまいません。 MapReduceジョブの実行時に一時ファイルが作成され、ジョブの完了後に自動的に削除されます。 いいえ -l/-logDir <log directory> ログファイルが格納されるディレクトリ。 いいえ
unarchiveTable
unarchiveTableコマンドの構文は、archiveTableコマンドの構文に似ています。 unarchiveTableコマンドを使用して、OSSのテーブルまたはパーティションをアーカイブ解除できます。
- SSHモードでクラスターにログオンします。 詳細については、「クラスターへのログオン」をご参照ください。
- 次のコマンドを実行して、ヘルプ情報を取得します。
jindo table -help unarchiveTableunarchiveTable構文:-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>]
- 必須パラメーター -i/-a/-o/-cr-i/-a/-ca の代わりに、オプションパラメーター が使用されます。
- オプションパラメーター -notWait が使用されます。
| パラメーター | 説明 | 必須 |
| -i/-a/-o/-cr | コールドアーカイブストレージクラスのデータのストレージクラスの変換。
| いいえ |
| -notWait | このパラメーターは、データをアーカイブ解除する場合にのみ有効です。 このパラメーターは、コールドアーカイブストレージに格納されているデータをアーカイブ解除するために使用されます。 このパラメーターを指定すると、システムはアーカイブ解除コマンドを送信するだけで、アーカイブ解除操作の完了を待機しません。 | いいえ |