全部产品
Search
文档中心

E-MapReduce:Menggunakan JindoTable

更新时间:Jul 02, 2025

JindoTable mengumpulkan statistik akses sering pada tabel dan partisi, menyediakan penyimpanan bertingkat, serta mengoptimalkan tabel. Topik ini menjelaskan cara menggunakan JindoTable.

Prasyarat

  • Java Development Kit (JDK) 8 telah diinstal di mesin lokal Anda.
  • Sebuah kluster E-MapReduce (EMR) versi V3.30.0 atau lebih baru telah dibuat. Untuk informasi lebih lanjut tentang cara membuat kluster, lihat Buat kluster.

Menggunakan JindoTable

Perintah umum:
Penting Tentukan tabel dalam format database.table. Tentukan partisi dalam format partitionCol1=1,partitionCol2=2,....

-accessStat

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk menanyakan tabel atau partisi yang paling sering dikunjungi dalam periode waktu tertentu, beserta jumlah kunjungan masing-masing.

    <hari> dan <topNums> harus berupa bilangan bulat positif. Sebagai contoh, jika hari disetel ke 1 dan topNums tidak ditentukan, statistik akses sering dari semua tabel atau partisi yang dikunjungi pada hari saat ini (dari 00:00 hingga waktu saat ini) akan diperiksa.

  • Contoh: Jalankan perintah berikut untuk menanyakan 20 tabel atau partisi pertama yang paling sering dikunjungi dalam tujuh hari terakhir, beserta jumlah kunjungan masing-masing:
    jindo table -accessStat -d 7 -n 20

-cache

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk menyimpan data tabel atau partisi tertentu ke disk lokal.

    Data tabel atau partisi harus disimpan di Object Storage Service (OSS) atau JindoFS. Tentukan tabel dalam format database.table. Tentukan partisi dalam format partitionCol1=1,partitionCol2=2,.... Jika ruang cache yang tersedia menjadi tidak mencukupi ketika Anda menentukan -pin, jangan hapus data terkait.

  • Contoh: Simpan data tabel db1.t1 yang dihasilkan pada 16 Maret 2020 ke disk lokal.
    jindo table -cache -t db1.t1 -p date=2020-03-16

-uncache

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk menghapus data yang disimpan dari tabel atau partisi tertentu dari disk lokal.

    Data tabel atau partisi harus disimpan di OSS atau JindoFS. Tentukan tabel dalam format database.table. Tentukan partisi dalam format partitionCol1=1,partitionCol2=2,....

  • Contoh:
    • Hapus data yang disimpan dari tabel db1.t2 dari disk lokal.
      jindo table -uncache -t db1.t2
    • Hapus data yang disimpan dari tabel db1.t1 dari disk lokal.
      jindo table -uncache -t db1.t1 -p date=2020-03-16,category=1

-archive

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk menurunkan tingkat kebijakan penyimpanan data dari tabel atau partisi tertentu. Secara default, kelas penyimpanan Arsip digunakan.

    Untuk menggunakan kelas penyimpanan Akses Jarang (IA), tambahkan -i ke perintah. Tentukan tabel dalam format database.table. Tentukan partisi dalam format partitionCol1=1,partitionCol2=2,...

  • Contoh: Simpan data tabel db1.t1 ke disk lokal.
    jindo table -archive -t db1.t1 -p date=2020-10-12

-unarchive

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk mengubah kelas penyimpanan dari Arsip ke Standar.

    Jika -o ditambahkan ke perintah, objek yang diarsipkan sementara dipulihkan. Jika -i ditambahkan ke perintah, objek yang diarsipkan diubah menjadi objek IA.

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

-status

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk melihat status penyimpanan data dari tabel atau partisi tertentu.

  • Contoh:
    • Lihat status penyimpanan data dari tabel db1.t2.
      jindo table -status -t db1.t2
    • Lihat status penyimpanan data dari tabel db1.t1 pada 16 Maret 2020.
      jindo table -status -t db1.t1 -p date=2020-03-16

-optimize

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk mengoptimalkan organisasi data tabel di lapisan penyimpanan.

  • Contoh: Optimalkan organisasi data tabel db1.t1 di lapisan penyimpanan.
    jindo table -optimize -t db1.t1

-showTable

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk menampilkan semua partisi dalam tabel yang dipartisi atau menampilkan penyimpanan data dari tabel non-partisi.

  • Contoh: Tampilkan semua partisi dalam tabel db1.t1 yang dipartisi.
    jindo table -showTable -t db1.t1

-showPartition

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk menampilkan penyimpanan data dari partisi.

  • Contoh: Tampilkan penyimpanan data dari semua partisi dalam tabel db1.t1 yang dipartisi pada 12 Oktober 2020.
    jindo table -showPartition -t db1.t1 -p date=2020-10-12

-listTables

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk menampilkan semua tabel dalam database tertentu. Jika Anda tidak menentukan [-db], tabel dalam database default akan ditampilkan.

  • Contoh:
    • Tampilkan tabel dalam database default.
      jindo table -listTables
    • Tampilkan tabel dalam database db1.
      jindo table -listTables -db db1

-dumpmc

  • Sintaks
    jindo table -dumpmc {-i} <accessId>{-k} <accessKey>{-m} <numMaps>{-t} <tunnelUrl>{-project} <projectName>{-table} <tablename>{-p} <partitionSpec>{-f} <csv|tfrecord>{-o} <outputPath>
    ParameterDeskripsiDiperlukan
    -iID AccessKey akun Alibaba Cloud Anda. Ya
    -kRahasia AccessKey akun Alibaba Cloud Anda. Ya
    -mJumlah tugas map. Ya
    -tTitik akhir Tunnel dari virtual private cloud (VPC) tempat proyek MaxCompute berada. Ya
    -projectNama proyek MaxCompute. Ya
    -tableNama tabel MaxCompute. Ya
    -pInformasi partisi. Contoh: pt=xxx. Pisahkan beberapa partisi dengan koma (,), seperti pt=xxx,dt=xxx. Tidak
    -fFormat file. Nilai valid:
    • tfrecord
    • csv
    Ya
    -oJalur tujuan. Ya
  • Deskripsi

    Perintah ini digunakan untuk mendump tabel MaxCompute ke kluster EMR atau OSS. Format CSV dan TFRECORD didukung.

  • 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

  • Sintaks

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

  • Deskripsi

    Perintah ini digunakan untuk menampilkan tabel atau partisi yang belum diakses selama waktu terlama.

    num menunjukkan jumlah tabel atau partisi yang ditampilkan. Setel parameter ini ke bilangan bulat positif. -i/-ignoreNever adalah parameter opsional. Jika disetel, tabel atau partisi yang belum pernah diakses akan difilter.

  • Contoh: Tanyakan 20 tabel atau partisi pertama yang belum diakses selama waktu terlama.
    jindo table -leastUseStat -n 20