JindoTable mengumpulkan statistik akses frekuensi tinggi pada tabel dan partisi, menyediakan manajemen penyimpanan berjenjang, serta mengoptimalkan organisasi data tabel di Object Storage Service (OSS) dan JindoFS.
Prasyarat
Sebelum memulai, pastikan Anda telah:
-
Menginstal Java Development Kit (JDK) 8 di mesin lokal Anda.
-
Memiliki kluster E-MapReduce (EMR) versi V3.30.0 atau yang lebih baru. Lihat Buat kluster.
Perintah
Gunakan konvensi format berikut untuk semua perintah:
-
Tabel:
database.table -
Partisi:
partitionCol1=1,partitionCol2=2,...
Tabel berikut mencantumkan semua perintah jindo table yang tersedia.
| Perintah | Deskripsi |
|---|---|
-accessStat |
Kueri tabel atau partisi yang paling sering diakses dalam rentang waktu tertentu |
-cache |
Simpan data tabel atau partisi ke disk lokal |
-uncache |
Hapus data tabel atau partisi yang telah di-cache dari disk lokal |
-archive |
Pindahkan data tabel atau partisi ke kelas penyimpanan OSS berbiaya lebih rendah |
-unarchive |
Pulihkan data tabel atau partisi yang diarsipkan ke penyimpanan Standard |
-status |
Lihat status penyimpanan tabel atau partisi |
-optimize |
Optimalkan organisasi data di lapisan penyimpanan |
-showTable |
Daftar semua partisi dalam tabel terpartisi, atau tampilkan detail penyimpanan tabel non-partisi |
-showPartition |
Tampilkan detail penyimpanan partisi tertentu |
-listTables |
Daftar semua tabel dalam database |
-dumpmc |
Dump tabel MaxCompute ke kluster EMR atau OSS |
-leastUseStat |
Kueri tabel atau partisi yang paling jarang diakses |
-archiveTable |
Arsipkan data tabel atau partisi dalam mode SDK (tanpa dependensi Jindo Namespace Service) |
-unarchiveTable |
Batalkan arsip data tabel atau partisi dalam mode SDK |
-moveTo |
Migrasikan data tabel atau partisi ke lokasi berbeda |
-accessStat
Kueri tabel atau partisi dengan frekuensi akses tertinggi dalam jumlah hari tertentu, beserta jumlah kunjungannya.
Sintaks
jindo table -accessStat {-d} <days> {-n} <topNums>
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-d <days> |
Rentang waktu dalam satuan hari. Harus berupa bilangan bulat positif. | Ya |
-n <topNums> |
Jumlah hasil teratas yang dikembalikan. Harus berupa bilangan bulat positif. Jika dihilangkan, semua hasil akan dikembalikan. | Tidak |
Jika-ddiatur ke1dan-ndihilangkan, perintah ini mengembalikan statistik akses dari pukul 00:00 hingga waktu saat ini pada hari tersebut.
Contoh
Kueri 20 tabel atau partisi yang paling sering diakses selama 7 hari terakhir:
jindo table -accessStat -d 7 -n 20
-cache
Simpan data tabel atau partisi tertentu ke disk lokal.
Sintaks
jindo table -cache {-t} <dbName.tableName> [-p] <partitionSpec> [-pin]
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-t <dbName.tableName> |
Tabel yang akan di-cache. Format: database.table. |
Ya |
-p <partitionSpec> |
Partisi yang akan di-cache. Format: col1=val1,col2=val2,.... Jika dihilangkan, semua partisi akan di-cache. |
Tidak |
-pin |
Mencegah data yang di-cache dihapus saat ruang cache hampir penuh. | Tidak |
Data tabel atau partisi harus berada di Object Storage Service (OSS) atau JindoFS.
Contoh
Cache partisi date=2020-03-16 dari db1.t1:
jindo table -cache -t db1.t1 -p date=2020-03-16
-uncache
Hapus data yang di-cache dari tabel atau partisi tertentu dari disk lokal.
Sintaks
jindo table -uncache {-t} <dbName.tableName> [-p] <partitionSpec>
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-t <dbName.tableName> |
Tabel yang akan dihapus dari cache. Format: database.table. |
Ya |
-p <partitionSpec> |
Partisi yang akan dihapus dari cache. Format: col1=val1,col2=val2,.... Jika dihilangkan, semua data yang di-cache untuk tabel tersebut akan dihapus. |
Tidak |
Data tabel atau partisi harus berada di OSS atau JindoFS.
Contoh
Hapus semua data yang di-cache untuk db1.t2:
jindo table -uncache -t db1.t2
Hapus data yang di-cache untuk partisi tertentu dari db1.t1:
jindo table -uncache -t db1.t1 -p date=2020-03-16,category=1
-archive
Pindahkan data tabel atau partisi ke kelas penyimpanan OSS berbiaya lebih rendah. Kelas target default adalah Archive.
Sintaks
jindo table -archive {-a|-i} {-t} <dbName.tableName> [-p] <partitionSpec>
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-a |
Arsipkan ke kelas penyimpanan Archive (default). | Tidak |
-i |
Arsipkan ke kelas penyimpanan Infrequent Access (IA) alih-alih Archive. | Tidak |
-t <dbName.tableName> |
Tabel yang akan diarsipkan. Format: database.table. |
Ya |
-p <partitionSpec> |
Partisi yang akan diarsipkan. Format: col1=val1,col2=val2,.... Jika dihilangkan, semua partisi akan diarsipkan. |
Tidak |
Contoh
Arsipkan partisi date=2020-10-12 dari db1.t1 ke kelas penyimpanan Archive:
jindo table -archive -t db1.t1 -p date=2020-10-12
-unarchive
Pulihkan data tabel atau partisi yang diarsipkan ke penyimpanan Standard, atau ubah ke penyimpanan Infrequent Access (IA).
Sintaks
jindo table -unarchive [-o|-i] {-t} <dbName.tableName> [-p] <partitionSpec>
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-o |
Pulihkan sementara objek yang diarsipkan ke penyimpanan Standard. | Tidak |
-i |
Ubah objek yang diarsipkan ke penyimpanan IA alih-alih Standard. | Tidak |
-t <dbName.tableName> |
Tabel yang akan dibatalkan arsipnya. Format: database.table. |
Ya |
-p <partitionSpec> |
Partisi yang akan dibatalkan arsipnya. Format: col1=val1,col2=val2,.... Jika dihilangkan, semua data yang diarsipkan untuk tabel tersebut akan dipulihkan. |
Tidak |
Contoh
Pulihkan sementara partisi tertentu dari db1.t1 ke penyimpanan Standard:
jindo table -unarchive -o -t db1.t1 -p date=2020-03-16,category=1
Ubah semua data yang diarsipkan di db1.t2 ke penyimpanan IA:
jindo table -unarchive -i -t db1.t2
-status
Lihat status penyimpanan tabel atau partisi tertentu.
Sintaks
jindo table -status {-t} <dbName.tableName> [-p] <partitionSpec>
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-t <dbName.tableName> |
Tabel yang akan diperiksa. Format: database.table. |
Ya |
-p <partitionSpec> |
Partisi yang akan diperiksa. Format: col1=val1,col2=val2,.... Jika dihilangkan, status seluruh tabel akan ditampilkan. |
Tidak |
Contoh
Lihat status penyimpanan db1.t2:
jindo table -status -t db1.t2
Lihat status penyimpanan partisi date=2020-03-16 dari db1.t1:
jindo table -status -t db1.t1 -p date=2020-03-16
-optimize
Optimalkan organisasi data tabel di lapisan penyimpanan.
Sintaks
jindo table -optimize {-t} <dbName.tableName>
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-t <dbName.tableName> |
Tabel yang akan dioptimalkan. Format: database.table. |
Ya |
Contoh
Optimalkan db1.t1:
jindo table -optimize -t db1.t1
-showTable
Daftar semua partisi dalam tabel terpartisi, atau tampilkan detail penyimpanan tabel non-partisi.
Sintaks
jindo table -showTable {-t} <dbName.tableName>
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-t <dbName.tableName> |
Tabel yang akan diperiksa. Format: database.table. |
Ya |
Contoh
Daftar semua partisi dalam tabel terpartisi db1.t1:
jindo table -showTable -t db1.t1
-showPartition
Tampilkan detail penyimpanan partisi tertentu.
Sintaks
jindo table -showPartition {-t} <dbName.tableName> [-p] <partitionSpec>
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-t <dbName.tableName> |
Tabel yang akan diperiksa. Format: database.table. |
Ya |
-p <partitionSpec> |
Partisi yang akan diperiksa. Format: col1=val1,col2=val2,.... |
Tidak |
Contoh
Tampilkan detail penyimpanan untuk partisi date=2020-10-12 dari db1.t1:
jindo table -showPartition -t db1.t1 -p date=2020-10-12
-listTables
Daftar semua tabel dalam database.
Sintaks
jindo table -listTables
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-db <dbName> |
Nama database. Jika dihilangkan, tabel dalam database default akan didaftar. | Tidak |
Contoh
Daftar tabel dalam database default:
jindo table -listTables
Daftar tabel dalam db1:
jindo table -listTables -db db1
-dumpmc
Dump tabel MaxCompute ke kluster EMR atau OSS. Format output yang didukung adalah CSV dan TFRecord.
Sintaks
jindo table -dumpmc {-i} <accessId> {-k} <accessKey> {-m} <numMaps> {-t} <tunnelUrl> {-project} <projectName> {-table} <tableName> [-p] <partitionSpec> {-f} <csv|tfrecord> {-o} <outputPath>
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-i <accessId> |
ID AccessKey Akun Alibaba Cloud Anda. | Ya |
-k <accessKey> |
Rahasia AccessKey Akun Alibaba Cloud Anda. | Ya |
-m <numMaps> |
Jumlah tugas map. | Ya |
-t <tunnelUrl> |
Titik akhir Tunnel dari virtual private cloud (VPC) tempat proyek MaxCompute berada. | Ya |
-project <projectName> |
Nama proyek MaxCompute. | Ya |
-table <tableName> |
Nama tabel MaxCompute. | Ya |
-p <partitionSpec> |
Informasi partisi. Contoh: pt=xxx. Untuk beberapa partisi: pt=xxx,dt=xxx. |
Tidak |
-f <csv|tfrecord> |
Format file output. Nilai yang valid: csv, tfrecord. |
Ya |
-o <outputPath> |
Jalur tujuan. Gunakan jalur lokal untuk output kluster EMR, atau jalur oss:// untuk output OSS. |
Ya |
Contoh
Dump tabel MaxCompute dalam format TFRecord ke kluster 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
Dump tabel MaxCompute dalam format CSV ke 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
Kueri tabel atau partisi yang paling lama tidak diakses.
Sintaks
jindo table -leastUseStat -n <num> [-i|-ignoreNever]
Parameter
| Parameter | Deskripsi | Wajib |
|---|---|---|
-n <num> |
Jumlah hasil yang dikembalikan. Harus berupa bilangan bulat positif. | Ya |
-i / -ignoreNever |
Kecualikan tabel atau partisi yang belum pernah diakses. | Tidak |
Contoh
Kueri 20 tabel atau partisi dengan periode ketidakaktifan terpanjang:
jindo table -leastUseStat -n 20
Langkah berikutnya
-
Gunakan
-archiveTabledan-unarchiveTabledalam mode SDK untuk mengarsipkan dan membatalkan arsip data OSS tanpa komponen Jindo Namespace Service. Lihat archiveTable dan unarchiveTable. -
Gunakan
-moveTountuk memigrasikan data tabel atau partisi ke lokasi baru. Lihat moveTo.