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

E-MapReduce:JindoTable の使用

最終更新日:Apr 14, 2025

JindoTable は、テーブルとパーティションに対する頻繁なアクセス統計を収集し、階層化ストレージを提供し、テーブルを最適化します。このトピックでは、JindoTable の使用方法について説明します。

前提条件

  • オンプレミス マシンに Java Development Kit(JDK)8 がインストールされていること。
  • V3.30.0 以降の E-MapReduce(EMR)クラスタが作成されていること。クラスタの作成方法の詳細については、クラスタの作成をご参照ください。

JindoTable の使用

一般的なコマンド:
重要 テーブルは database.table の形式で指定します。パーティションは partitionCol1=1,partitionCol2=2,... の形式で指定します。

-accessStat

  • 構文

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

  • 説明

    このコマンドは、指定された期間内に最も頻繁にアクセスされたテーブルまたはパーティション、およびそれぞれのアクセス回数をクエリするために使用されます。

    <days> と <topNums> は正の整数である必要があります。たとえば、days を 1 に設定し、topNums を指定しない場合、当日(00:00 から現在時刻まで)にアクセスされたすべてのテーブルまたはパーティションの頻繁なアクセス統計がクエリされます。

  • 例:過去 7 日間で最も頻繁にアクセスされた上位 20 件のテーブルまたはパーティションと、それぞれのアクセス回数をクエリするには、次のコマンドを実行します。
    jindo table -accessStat -d 7 -n 20

-cache

  • 構文

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

  • 説明

    このコマンドは、指定されたテーブルまたはパーティションのデータをローカル ディスクにキャッシュするために使用されます。

    テーブルまたはパーティションのデータは、オブジェクト ストレージ サービス(OSS)または JindoFS に保存されている必要があります。テーブルは database.table の形式で指定します。パーティションは partitionCol1=1,partitionCol2=2,... の形式で指定します。-pin を指定したときに使用可能なキャッシュ スペースが不足した場合、関連データを削除しないでください。

  • 例:2020 年 3 月 16 日に生成された db1.t1 テーブルのデータをローカル ディスクにキャッシュします。
    jindo table -cache -t db1.t1 -p date=2020-03-16

-uncache

  • 構文

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

  • 説明

    このコマンドは、指定されたテーブルまたはパーティションのキャッシュされたデータをローカル ディスクから削除するために使用されます。

    テーブルまたはパーティションのデータは、OSS または JindoFS に保存されている必要があります。テーブルは database.table の形式で指定します。パーティションは partitionCol1=1,partitionCol2=2,... の形式で指定します。

  • 例:
    • db1.t2 テーブルのキャッシュされたデータをローカル ディスクから削除します。
      jindo table -uncache -t db1.t2
    • db1.t1 テーブルのキャッシュされたデータをローカル ディスクから削除します。
      jindo table -uncache -t db1.t1 -p date=2020-03-16,category=1

-archive

  • 構文

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

  • 説明

    このコマンドは、特定のテーブルまたはパーティションのデータ ストレージ ポリシーのレベルを下げるために使用されます。デフォルトでは、アーカイブ ストレージ クラスが使用されます。

    低頻度アクセス(IA)ストレージ クラスを使用するには、コマンドに -i を追加します。テーブルは database.table の形式で指定します。パーティションは partitionCol1=1,partitionCol2=2,... の形式で指定します。

  • 例:db1.t1 テーブルのデータをローカル ディスクにキャッシュします。
    jindo table -archive -t db1.t1 -p date=2020-10-12

-unarchive

  • 構文

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

  • 説明

    このコマンドは、ストレージ クラスをアーカイブから標準に変更するために使用されます。

    -o がコマンドに追加されると、アーカイブされたオブジェクトが一時的に復元されます。-i がコマンドに追加されると、アーカイブされたオブジェクトが IA オブジェクトに変更されます。

  • 例:
    • jindo table -unarchive -o -t db1.t1 -p date=2020-03-16,category=1
    • jindo table -unarchive -i -t db1.t2

-status

  • 構文

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

  • 説明

    このコマンドは、特定のテーブルまたはパーティションのデータ ストレージ状態を表示するために使用されます。

  • 例:
    • db1.t2 テーブルのデータ ストレージ状態を表示します。
      jindo table -status -t db1.t2
    • 2020 年 3 月 16 日の db1.t1 テーブルのデータ ストレージ状態を表示します。
      jindo table -status -t db1.t1 -p date=2020-03-16

-optimize

  • 構文

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

  • 説明

    このコマンドは、ストレージ レイヤーでテーブルのデータ編成を最適化するために使用されます。

  • 例:ストレージ レイヤーで db1.t1 テーブルのデータ編成を最適化します。
    jindo table -optimize -t db1.t1

-showTable

  • 構文

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

  • 説明

    このコマンドは、パーティション テーブル内のすべてのパーティションを表示するか、パーティション化されていないテーブルのデータ ストレージを表示するために使用されます。

  • 例:db1.t1 パーティション テーブル内のすべてのパーティションを表示します。
    jindo table -showTable -t db1.t1

-showPartition

  • 構文

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

  • 説明

    このコマンドは、パーティションのデータ ストレージを表示するために使用されます。

  • 例:2020 年 10 月 12 日の db1.t1 パーティション テーブル内のすべてのパーティションのデータ ストレージを表示します。
    jindo table -showPartition -t db1.t1 -p date=2020-10-12

-listTables

  • 構文

    jindo table -listTables [-db] <dbName.tableName>

  • 説明

    このコマンドは、指定されたデータベース内のすべてのテーブルを表示するために使用されます。[-db] を指定しない場合、デフォルト データベース内のテーブルが表示されます。

  • 例:
    • デフォルト データベース内のテーブルを表示します。
      jindo table -listTables
    • db1 データベース内のテーブルを表示します。
      jindo table -listTables -db db1

-dumpmc

  • 構文
    jindo table -dumpmc {-i} <accessId> {-k} <accessKey> {-m} <numMaps> {-t} <tunnelUrl> {-project} <projectName> {-table} <tablename> {-p} <partitionSpec> {-f} <csv|tfrecord> {-o} <outputPath>
    パラメータ説明必須
    -iAlibaba Cloud アカウントの AccessKey ID。はい
    -kAlibaba Cloud アカウントの AccessKey シークレット。はい
    -mマップ タスクの数。はい
    -tMaxCompute プロジェクトが存在する仮想プライベート クラウド(VPC)のトンネル エンドポイント。はい
    -projectMaxCompute プロジェクトの名前。はい
    -tableMaxCompute テーブルの名前。はい
    -pパーティション情報。例:pt=xxx。複数のパーティションはカンマ(,)で区切ります。例:pt=xxx,dt=xxxいいえ
    -fファイル形式。有効な値:
    • tfrecord
    • csv
    はい
    -o出力先パス。はい
  • 説明

    このコマンドは、MaxCompute テーブルを EMR クラスタまたは OSS にダンプするために使用されます。CSV および TFRECORD 形式がサポートされています。

  • 例:
    • 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

-leastUseStat

  • 構文

    jindo table -leastUseStat -n <num> [-i/-ignoreNever]

  • 説明

    このコマンドは、最も長い間アクセスされていないテーブルまたはパーティションを表示するために使用されます。

    num は、表示されるテーブルまたはパーティションの数を示します。このパラメータを正の整数に設定します。-i/-ignoreNever はオプションのパラメータです。設定されている場合、アクセスされたことのないテーブルまたはパーティションは除外されます。

  • 例:最も長い間アクセスされていない上位 20 件のテーブルまたはパーティションをクエリします。
    jindo table -leastUseStat -n 20