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

E-MapReduce:JindoTable ユーザーガイド

最終更新日:Mar 27, 2026

JindoTable は、テーブルやパーティションの人気度に基づいて、データ階層化、テーブルファイルの最適化、データ統計の収集を実装するために使用されます。本トピックでは、JindoTable の使用方法について説明します。

前提条件

開始する前に、以下のものが準備されていることを確認してください。

  • オンプレミスマシンに Java 開発キット (JDK) 8 がインストールされていること

  • バージョン 3.30.0 以降の E-MapReduce (EMR) クラスター (クラスターの作成)

仕組み

JindoTable コマンドは、ストレージ管理ワークフローに従います。

  1. -accessStat を実行して、最も頻繁にアクセスされるテーブルまたはパーティションを特定します。

  2. -cache を実行してホットデータをローカルディスクにプルするか、-archive を実行してコールドデータを低コストのストレージクラスに移動します。

  3. -status を実行して、テーブルまたはパーティションの現在のストレージ状態を確認します。

  4. -optimize を実行して、ストレージレイヤーでテーブルのデータ編成を最適化します。

重要 テーブルは database.table のフォーマットで指定します。パーティションは partitionCol1=val1,partitionCol2=val2,... のフォーマットで指定します。

コマンドリファレンス

JindoTable は 11 個のコマンドを提供します。構文の説明では、{-flag} は必須パラメーターを示し、[-flag] はオプションパラメーターを示します。

コマンド 説明
-accessStat 指定された時間範囲内で最もアクセス数の多いテーブルまたはパーティションを照会します
-cache テーブルまたはパーティションのデータをローカルディスクにキャッシュします
-uncache キャッシュデータをローカルディスクから削除します
-archive データをアーカイブまたは低頻度アクセス (IA) ストレージクラスに移動します
-unarchive アーカイブされたデータを標準ストレージクラスに復元します
-status テーブルまたはパーティションのストレージステータスを表示します
-optimize ストレージレイヤーでテーブルデータの編成を最適化します
-showTable パーティションテーブル内のすべてのパーティションを一覧表示するか、非パーティション化テーブルのストレージ詳細を表示します
-showPartition 特定のパーティションのストレージ詳細を表示します
-listTables データベース内のすべてのテーブルを一覧表示します
-dumpmc MaxCompute テーブルを EMR クラスターまたは Object Storage Service (OSS) にダンプします

-accessStat

指定された時間範囲内で最もアクセス数の多いテーブルまたはパーティションを照会します。

構文

jindo table -accessStat {-d} <days> {-n} <topNums>

パラメーター

パラメーター 必須 説明
-d <days> はい 遡る日数。正の整数である必要があります。1 に設定すると、現在日の 00:00 (ローカル時間) から現在時刻までのすべてのアクセスレコードが返されます。
-n <topNums> はい 返す上位結果の数。正の整数である必要があります。

過去 7 日間で最もアクセス数の多い上位 20 のテーブルまたはパーティションを返します。

jindo table -accessStat -d 7 -n 20

-cache

OSS または JindoFileSystem (JindoFS) からテーブルまたはパーティションのデータをローカルディスクにキャッシュします。

構文

jindo table -cache {-t} <dbName.tableName> [-p] <partitionSpec> [-pin]

パラメーター

パラメーター 必須 説明
-t <dbName.tableName> はい キャッシュするテーブル。フォーマット:database.table
-p <partitionSpec> いいえ キャッシュするパーティション。フォーマット:partitionCol1=val1,partitionCol2=val2,...。省略した場合、テーブル全体がキャッシュされます。
-pin いいえ キャッシュ領域が不足している場合、可能な限り関連データを削除しません。

db1.t1date=2020-03-16 パーティションをキャッシュします。

jindo table -cache -t db1.t1 -p date=2020-03-16

-uncache

テーブルまたはパーティションのキャッシュデータをローカルディスクから削除します。

構文

jindo table -uncache {-t} <dbName.tableName> [-p] <partitionSpec>

パラメーター

パラメーター 必須 説明
-t <dbName.tableName> はい キャッシュを削除するテーブル。フォーマット:database.table
-p <partitionSpec> いいえ キャッシュを削除するパーティション。フォーマット:partitionCol1=val1,partitionCol2=val2,...。省略した場合、テーブル全体のキャッシュが削除されます。

db1.t2 テーブル全体のキャッシュデータを削除します。

jindo table -uncache -t db1.t2

db1.t1date=2020-03-16,category=1 パーティションのキャッシュデータを削除します。

jindo table -uncache -t db1.t1 -p date=2020-03-16,category=1

-archive

テーブルまたはパーティションのデータを低コストのストレージクラスに移動します。デフォルトのターゲットはアーカイブストレージクラスです。-i を追加して、代わりに低頻度アクセス (IA) を使用します。

構文

jindo table -archive [-a|-i] {-t} <dbName.tableName> [-p] <partitionSpec>

パラメーター

パラメーター 必須 説明
-a いいえ アーカイブストレージクラスにアーカイブします (デフォルトの動作)。
-i いいえ アーカイブの代わりに低頻度アクセス (IA) ストレージクラスにアーカイブします。
-t <dbName.tableName> はい アーカイブするテーブル。フォーマット:database.table
-p <partitionSpec> いいえ アーカイブするパーティション。フォーマット:partitionCol1=val1,partitionCol2=val2,...。省略した場合、テーブル全体がアーカイブされます。

db1.t1date=2020-10-12 パーティションをアーカイブします。

jindo table -archive -t db1.t1 -p date=2020-10-12

-unarchive

アーカイブされたデータを標準ストレージクラスに復元するか、IA ストレージクラスに変更します。

構文

jindo table -unarchive [-o|-i] {-t} <dbName.tableName> [-p] <partitionSpec>

パラメーター

パラメーター 必須 説明
-o いいえ アーカイブ済みオブジェクトを一時的に復元します。
-i いいえ アーカイブ済みオブジェクトを IA ストレージクラスに変更します。
-t <dbName.tableName> はい アーカイブ解除するテーブル。フォーマット:database.table
-p <partitionSpec> いいえ アーカイブ解除するパーティション。フォーマット:partitionCol1=val1,partitionCol2=val2,...。省略した場合、テーブル全体がアーカイブ解除されます。

db1.t1date=2020-03-16,category=1 パーティションをアーカイブから一時的に復元します。

jindo table -unarchive -o -t db1.t1 -p date=2020-03-16,category=1

db1.t2 テーブル全体をアーカイブから IA に変更します。

jindo table -unarchive -i -t db1.t2

-status

テーブルまたはパーティションのデータストレージステータスを表示します。

構文

jindo table -status {-t} <dbName.tableName> [-p] <partitionSpec>

パラメーター

パラメーター 必須 説明
-t <dbName.tableName> はい 検査するテーブル。フォーマット:database.table
-p <partitionSpec> いいえ 検査するパーティション。フォーマット:partitionCol1=val1,partitionCol2=val2,...。省略した場合、テーブル全体のステータスが返されます。

db1.t2 テーブル全体のストレージステータスを表示します。

jindo table -status -t db1.t2

db1.t1date=2020-03-16 パーティションのストレージステータスを表示します。

jindo table -status -t db1.t1 -p date=2020-03-16

-optimize

ストレージレイヤーでテーブルのデータ編成を最適化し、クエリのパフォーマンスを向上させます。

構文

jindo table -optimize {-t} <dbName.tableName>

パラメーター

パラメーター 必須 説明
-t <dbName.tableName> はい 最適化するテーブル。フォーマット:database.table

db1.t1 のデータ編成を最適化します。

jindo table -optimize -t db1.t1

-showTable

パーティションテーブル内のすべてのパーティションを表示するか、非パーティション化テーブルのデータストレージ詳細を表示します。

構文

jindo table -showTable {-t} <dbName.tableName>

パラメーター

パラメーター 必須 説明
-t <dbName.tableName> はい 表示するテーブル。フォーマット:database.table

db1.t1 内のすべてのパーティションを表示します。

jindo table -showTable -t db1.t1

-showPartition

特定のパーティションのデータストレージ詳細を表示します。

構文

jindo table -showPartition {-t} <dbName.tableName> [-p] <partitionSpec>

パラメーター

パラメーター 必須 説明
-t <dbName.tableName> はい パーティションを含むテーブル。フォーマット:database.table
-p <partitionSpec> いいえ 表示するパーティション。フォーマット:partitionCol1=val1,partitionCol2=val2,...

db1.t1date=2020-10-12 パーティションのストレージ詳細を表示します。

jindo table -showPartition -t db1.t1 -p date=2020-10-12

-listTables

データベース内のすべてのテーブルを一覧表示します。

構文

jindo table -listTables [-db] <dbName>

パラメーター

パラメーター 必須 説明
-db <dbName> いいえ テーブルを一覧表示するデータベース。省略した場合、デフォルトのデータベース内のテーブルが一覧表示されます。

デフォルトのデータベース内のすべてのテーブルを一覧表示します。

jindo table -listTables

db1 内のすべてのテーブルを一覧表示します。

jindo table -listTables -db db1

-dumpmc

MaxCompute テーブルを EMR クラスターまたは OSS にダンプします。サポートされている出力フォーマットは CSV と TFRECORD です。

構文

jindo table -dumpmc {-i} <accessId> {-k} <accessKey> {-m} <numMaps> {-t} <tunnelUrl> {-project} <projectName> {-table} <tableName> [-p] <partitionSpec> {-f} <csv|tfrecord> {-o} <outputPath>

パラメーター

パラメーター 必須 説明
-i <accessId> はい Alibaba Cloud アカウントの AccessKey ID。
-k <accessKey> はい Alibaba Cloud アカウントの AccessKey Secret。
-m <numMaps> はい マップタスクの数。
-t <tunnelUrl> はい MaxCompute の VPC トンネルエンドポイント。
-project <projectName> はい MaxCompute プロジェクトの名前。
-table <tableName> はい MaxCompute テーブルの名前。
-p <partitionSpec> いいえ ダンプするパーティション。例:pt=xxx。複数のパーティションはカンマで区切ります:pt=xxx,dt=xxx
-f <csv|tfrecord> はい 出力ファイルフォーマット。有効な値:csvtfrecord
-o <outputPath> はい 宛先パス。ローカルの EMR パス (例:/tmp/output) または OSS パス (例:oss://bucket/path) を使用します。

MaxCompute テーブルを TFRECORD フォーマットで EMR クラスターにダンプします。

jindo table -dumpmc -m 10 -project mctest_project -table t1 -t http://dt.xxx.maxcompute.aliyun-inc.com -k xxxxxxxxx -i XXXXXX -o /tmp/outputtf1 -f tfrecord

MaxCompute テーブルを CSV フォーマットで OSS にダンプします。

jindo table -dumpmc -m 10 -project mctest_project -table t1 -t http://dt.xxx.maxcompute.aliyun-inc.com -k xxxxxxxxx -i XXXXXX -o oss://bucket1/tmp/outputcsv -f csv