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

E-MapReduce:JindoTable の使用

最終更新日:Jan 11, 2025

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

前提条件

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

JindoTable の使用

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

-accessStat

  • 構文

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

  • 説明

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

    <days> と <topNums> は正の整数である必要があります。 <days> が 1 の場合、現在の日の 00:00(現地時間)から現在時刻までに生成されたすべてのアクセスレコードがクエリされます。

  • 例:過去 7 日間で最もアクセス頻度の高いテーブルまたはパーティションのアクセスレコード上位 20 件をクエリします。
    jindo table -accessStat -d 7 -n 20

-cache

  • 構文

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

  • 説明

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

    テーブルまたはパーティションのデータは、Object Storage Service(OSS)または JindoFileSystem(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>

  • 説明

    このコマンドは、指定されたデータベース内のすべてのテーブルを表示するために使用されます。[-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