JindoTable は、テーブルとパーティションに対する頻繁なアクセス統計を収集し、階層化ストレージを提供し、テーブルを最適化します。このトピックでは、JindoTable の使用方法について説明します。
前提条件
- オンプレミス マシンに Java Development Kit(JDK)8 がインストールされていること。
- V3.30.0 以降の E-MapReduce(EMR)クラスタが作成されていること。クラスタの作成方法の詳細については、クラスタの作成をご参照ください。
JindoTable の使用
- -accessStat
- -cache
- -archive
- -unarchive
- -uncache
- -status
- -optimize
- -showTable
- -showPartition
- -listTables
- -dumpmc
- -leastUseStat
- -archiveTable
- -unarchiveTable
- -moveTo
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
- db1.t2 テーブルのキャッシュされたデータをローカル ディスクから削除します。
-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=1jindo 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
- db1.t2 テーブルのデータ ストレージ状態を表示します。
-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>
パラメータ 説明 必須 -i Alibaba Cloud アカウントの AccessKey ID。 はい -k Alibaba Cloud アカウントの AccessKey シークレット。 はい -m マップ タスクの数。 はい -t MaxCompute プロジェクトが存在する仮想プライベート クラウド(VPC)のトンネル エンドポイント。 はい -project MaxCompute プロジェクトの名前。 はい -table MaxCompute テーブルの名前。 はい -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
- MaxCompute テーブルを TFRECORD 形式で EMR クラスタにダンプします。
-leastUseStat
- 構文
jindo table -leastUseStat -n <num> [-i/-ignoreNever]
- 説明
このコマンドは、最も長い間アクセスされていないテーブルまたはパーティションを表示するために使用されます。
num は、表示されるテーブルまたはパーティションの数を示します。このパラメータを正の整数に設定します。-i/-ignoreNever はオプションのパラメータです。設定されている場合、アクセスされたことのないテーブルまたはパーティションは除外されます。
- 例:最も長い間アクセスされていない上位 20 件のテーブルまたはパーティションをクエリします。
jindo table -leastUseStat -n 20