All Products
Search
Document Center

E-MapReduce:Perintah arsip dan pemulihan untuk JindoTable dalam mode SDK

Last Updated:Aug 21, 2026

JindoTable menyediakan perintah archiveTable dan unarchiveTable dalam mode SDK yang memungkinkan Anda mengarsipkan dan memulihkan data tanpa bergantung pada Jindo Namespace Service. Topik ini menjelaskan cara menggunakan kedua perintah tersebut.

Prasyarat

  • Java Development Kit (JDK) 8 telah diinstal secara lokal.
  • Kluster telah dibuat. Untuk informasi selengkapnya, lihat Create a cluster.
  • Data yang akan diarsipkan harus berada dalam tabel—baik berupa tabel partisi maupun tabel non-partisi—dan disimpan di Alibaba Cloud Object Storage Service (OSS).

Informasi latar belakang

Perintah arsip dan unarchive asli dari JindoTable dapat mengarsipkan atau memulihkan tabel atau partisi di OSS, tetapi bergantung pada Jindo Namespace Service dari komponen SmartData. Perintah baru archiveTable dan unarchiveTable memungkinkan operasi arsip dan pemulihan tanpa ketergantungan tersebut.

Perbedaan utama antara perintah archiveTable dan unarchiveTable yang baru dengan perintah arsip dan unarchive asli adalah:
  • Anda dapat menjalankan perintah tersebut pada kluster yang tidak memiliki layanan SmartData, seperti kluster self-managed yang bukan merupakan kluster EMR.
  • Anda dapat memberikan parameter filter untuk menerapkan operasi pada beberapa partisi dan mengeksekusinya secara multi-threaded. Jika multi-threading lokal tidak mencukupi, Anda juga dapat memulai pekerjaan MapReduce untuk dijalankan di seluruh kluster.

Untuk informasi selengkapnya tentang perintah arsip dan unarchive asli, lihat JindoTable user guide.

Batasan

Perintah archiveTable dan unarchiveTable yang baru didukung pada kluster EMR V3.36.0 ke atas atau EMR V5.2.0 ke atas.

Perintah archiveTable

Perintah archiveTable mengarsipkan tabel atau partisi di OSS.

  1. Masuk ke kluster menggunakan protokol Secure Shell (SSH). Untuk informasi selengkapnya, lihat Log on to a cluster.
  2. Jalankan perintah berikut untuk mendapatkan informasi bantuan.
    jindo table -help archiveTable
    Informasi berikut dikembalikan.
      <dbName.tableName>      Tabel yang akan diarsipkan.
      -a/-i                   kebijakan penyimpanan, -a untuk Archive dan -i untuk IA
                              (Infrequent Access).
      <condition>/-fullTable  Kondisi filter untuk menentukan partisi mana yang harus
                              diarsipkan, mendukung operator umum (seperti '>'),
                              sedangkan -fullTable berarti semua partisi (atau seluruh
                              tabel non-partisi) akan diarsipkan. Hanya satu opsi
                              yang boleh ditentukan di antara -c "<condition>" dan
                              -fullTable.
      <before days>           Opsional, menyatakan bahwa tabel/partisi hanya akan
                              diarsipkan jika dibuat (tidak diperbarui atau
                              dimodifikasi) lebih dari sekian hari sebelum saat ini.
      <parallelism>           Konkurensi maksimum saat mengarsipkan partisi, nilai
                              default-nya adalah 1.
      -mr/-mapReduce          Mengarsipkan tabel/partisi menggunakan pekerjaan
                              MapReduce tingkat kluster, bukan multi-thread tingkat
                              lokal.
      -e/-explain             Jika ditentukan, perintah tidak benar-benar mengarsipkan
                              data, melainkan hanya mencetak daftar tabel/partisi yang
                              akan diarsipkan berdasarkan kondisi yang diberikan.
            <working directory>: Direktori untuk menyimpan file sementara MapReduce.
      Tidak boleh berupa direktori sistem file lokal. Nilai default-nya adalah
      'hdfs:///tmp/<current user>/jindotable-policy/'.
    
      <log directory>  Direktori untuk menyimpan file log, nilai default-nya adalah
                       '/tmp/<current user>/'. 
                                
    Sintaks perintah archiveTable adalah sebagai berikut.
    -archiveTable -t <dbName.tableName> \
    -a/-i \
    [-c "<condition>" | -fullTable] \
    [-b/-before <before days>] \
    [-p/-parallel <parallelism>] \
    [-mr/-mapReduce] \
    [-e/-explain] \
    [-w/-workingDir <working directory>] \
    [-l/-logDir <log directory>]
    ParameterDeskripsiWajib
    -t <dbName.tableName>Nama tabel yang akan diarsipkan. Formatnya adalah database_name.table_name.

    Gunakan tanda titik (.) untuk memisahkan nama database dan nama tabel. Tabel tersebut dapat berupa tabel partisi atau tabel non-partisi.

    Ya
    -a/-iKelas penyimpanan tujuan. Opsi berikut didukung:
    • -a: Archive Storage.
    • -i: Infrequent Access (IA) storage.

    Jika Anda menentukan -i untuk penyimpanan IA, file yang sudah berada di Archive Storage akan dilewati.

    Ya
    -c "<condition>" | -fullTable-fullTable atau -c "<condition>".
    • Jika Anda menentukan -fullTable, seluruh tabel dipindahkan. Tabel tersebut dapat berupa tabel partisi atau non-partisi.
    • Jika Anda menentukan -c "<condition>", kondisi filter diberikan untuk memilih partisi yang akan dipindahkan. Operator umum, seperti tanda lebih besar (>), didukung.

      Contohnya, untuk kolom kunci partisi `ds` dengan tipe data String, jika Anda ingin memilih partisi yang namanya lebih besar dari 'd', gunakan -c " ds > 'd' ".

    Tidak
    -b/before <before days>Hanya tabel atau partisi yang dibuat lebih dari jumlah hari yang ditentukan sebelumnya yang diarsipkan.Tidak
    -p/-parallel <parallelism>Tingkat paralelisme untuk operasi arsip.Tidak
    -mr/-mapReduceMenggunakan Hadoop MapReduce alih-alih multi-threading lokal untuk mengarsipkan data.Tidak
    -e/-explainJika opsi ini ditentukan, perintah dijalankan dalam mode explain. Perintah hanya menampilkan daftar partisi yang akan dipindahkan dan tidak benar-benar memindahkan data apa pun.Tidak
    -w/-workingDirHanya digunakan untuk pekerjaan MapReduce. Ini menentukan direktori kerja untuk pekerjaan MapReduce. Anda harus memiliki izin baca dan tulis pada direktori tersebut. Direktori kerja boleh tidak kosong. File sementara dibuat selama eksekusi pekerjaan dan dibersihkan setelah pekerjaan selesai.Tidak
    -l/-logDir <log directory>Menentukan direktori untuk file log.Tidak

Perintah unarchiveTable

Perintah unarchiveTable memiliki format yang mirip dengan perintah archiveTable dan melakukan operasi sebaliknya, yaitu memulihkan tabel atau partisi di OSS.

  1. Masuk ke kluster menggunakan protokol SSH. Untuk informasi selengkapnya, lihat Log on to a cluster.
  2. Jalankan perintah berikut untuk mendapatkan informasi bantuan.
    jindo table -help unarchiveTable
    Informasi berikut dikembalikan.
      <dbName.tableName>      Tabel yang akan dipulihkan.
      -i                      memulihkan ke IA (Infrequent Access).
      -o                      memulihkan agar data terarsip dapat diakses sementara.
      <condition>/-fullTable  Kondisi filter untuk menentukan partisi mana yang harus
                              dipulihkan, mendukung operator umum (seperti '>'),
                              sedangkan -fullTable berarti semua partisi (atau seluruh
                              tabel non-partisi) akan dipulihkan. Hanya satu opsi
                              yang boleh ditentukan di antara -c "<condition>"
                              dan -fullTable.
      <before days>           Opsional, menyatakan bahwa tabel/partisi hanya akan
                              dipulihkan jika dibuat (tidak diperbarui atau
                              dimodifikasi) lebih dari sekian hari sebelum saat ini.
      <parallelism>           Konkurensi maksimum saat memulihkan partisi, nilai
                              default-nya adalah 1.
      -mr/-mapReduce          Memulihkan tabel/partisi menggunakan pekerjaan
                              MapReduce tingkat kluster, bukan multi-thread tingkat
                              lokal.
      -e/-explain             Jika ditentukan, perintah tidak benar-benar memulihkan
                              data, melainkan hanya mencetak daftar tabel/partisi yang
                              akan dipulihkan berdasarkan kondisi yang diberikan.
            <working directory>: Direktori untuk menyimpan file sementara MapReduce.
      Tidak boleh berupa direktori sistem file lokal. Nilai default-nya adalah
      'hdfs:///tmp/<current user>/jindotable-policy/'.
    
      <log directory>  Direktori untuk menyimpan file log, nilai default-nya adalah
                       '/tmp/<current user>/'. 
                                
    Sintaks perintah unarchiveTable adalah sebagai berikut.
    -unarchiveTable -t <dbName.tableName> \
    [-i/-o] \
    [-c "<condition>" | -fullTable] \
    [-b/-before <before days>] \
    [-p/-parallel <parallelism>] \
    [-mr/-mapReduce] \
    [-e/-explain] \
    [-w/-workingDir <working directory>] \
    [-l/-logDir <log directory>]

Parameter untuk perintah unarchiveTable hampir sama dengan parameter untuk perintah archiveTable. Perbedaan utamanya adalah bahwa parameter wajib -a/-i diganti dengan parameter opsional -i/-o.

Parameter opsional -i/-o dijelaskan sebagai berikut:
  • Jika Anda tidak menentukan parameter -i/-o, kelas penyimpanan diubah menjadi Standard.
  • Jika Anda menentukan parameter -i, kelas penyimpanan diubah menjadi Infrequent Access (IA). File yang sudah berada di kelas penyimpanan Standard akan dilewati.
  • Jika Anda menentukan parameter -o, hanya operasi restore yang dilakukan. File yang sudah berada di kelas penyimpanan Standard atau IA akan dilewati. File yang sudah dalam keadaan dipulihkan juga dilewati untuk mencegah pemulihan berulang.