All Products
Search
Document Center

E-MapReduce:Perintah MoveTo JindoTable

Last Updated:Aug 21, 2026

Perintah MoveTo melakukan migrasi data tabel dan partisi ke jalur penyimpanan baru.

Prasyarat

  • Java Development Kit (JDK) 8 telah diinstal.
  • Kluster telah dibuat. Untuk informasi selengkapnya, lihat Create a cluster.

Informasi latar belakang

Perintah MoveTo menyalin data yang mendasari dan secara otomatis memperbarui metadata untuk sepenuhnya memigrasikan data tabel dan partisi ke jalur baru. Anda dapat menggunakan kondisi filter untuk menyalin beberapa partisi sekaligus. Perlindungan bawaan menjaga integritas data selama migrasi.

Batasan

Perintah MoveTo didukung pada kluster yang menjalankan EMR V3.36.0 atau versi lebih baru, atau EMR V5.2.0 atau versi lebih baru.

Menggunakan perintah MoveTo

Penting Hanya satu proses MoveTo yang dapat berjalan pada suatu kluster dalam satu waktu. Jika proses MoveTo sudah berjalan, proses MoveTo baru gagal mendapatkan kunci konfigurasi dan keluar. Sistem akan memberi tahu Anda bahwa ada proses yang sedang berjalan. Dalam kasus ini, Anda dapat menghentikan proses yang sedang berjalan dan memulai proses baru, atau menunggu hingga proses saat ini selesai.
  1. Masuk ke kluster menggunakan Secure Shell (SSH). Untuk informasi selengkapnya, lihat Log on to a cluster.
  2. Jalankan perintah berikut untuk melihat informasi bantuan.
    jindo table -help moveTo
    Informasi bantuan mirip dengan berikut:
    <dbName.tableName>      Tabel yang akan dipindahkan.
    <destination path>      Direktori dasar tujuan yang selalu berada pada level
                              yang sama dengan 'table location', tempat partisi yang
                              dipindahkan atau data non-partisi akan ditempatkan.
    <condition>/-fullTable  Kondisi filter untuk menentukan partisi mana yang harus
                              dipindahkan, mendukung operator umum (seperti '>') dan
                              UDF bawaan (seperti to_date) (UDF belum didukung...),
                              sedangkan -fullTable berarti semua partisi (atau seluruh
                              tabel non-partisi) harus dipindahkan. Hanya satu opsi
                              yang harus ditentukan di antara -c "<condition>" dan
                              -fullTable.
    <before days>           Opsional, menyatakan bahwa tabel/partisi hanya akan
                              dipindahkan jika dibuat (bukan diperbarui atau dimodifikasi)
                              lebih dari beberapa hari yang lalu dari sekarang.
    <parallelism>           Konkurensi maksimum saat menyalin partisi, default 1.
            <OSS storage policy>: Kebijakan penyimpanan untuk tujuan OSS, yang dapat berupa Standard
      (default), IA, Archive, atau ColdArchive. Tidak berlaku untuk tujuan selain OSS.
      CATATAN: jika Anda ingin menggunakan kebijakan penyimpanan ColdArchive, pastikan
      Cold Archive telah diaktifkan untuk Bucket OSS Anda.
    
    -o/-overWrite     Menimpa jalur akhir tempat data akan dipindahkan.
                        Untuk tabel partisi, opsi ini menimpa lokasi partisi yang
                        merupakan subdirektori dari <destination path>; untuk
                        tabel non-partisi, opsi ini menimpa <destination path>
                        itu sendiri.
    -r/-removeSource  Menghapus data sumber setelah tabel/partisi terkait berhasil
                        dipindahkan ke tujuan baru. Secara default, data sumber tetap
                        seperti semula.
    -skipTrash        Hanya berlaku ketika [-r/-removeSource] diaktifkan. Jika
                        ditentukan, data sumber akan langsung dihapus dari sistem file,
                        melewati Trash.
    -e/-explain       Jika ditentukan, perintah tidak benar-benar memindahkan data,
                        melainkan hanya mencetak tabel/partisi yang akan dipindahkan
                        berdasarkan kondisi yang diberikan.
    <log directory>   Direktori untuk menyimpan file log, default '/tmp/<current user>/'.
    Sintaks perintah MoveTo adalah sebagai berikut:
    jindo table -moveTo \
      -t <dbName.tableName> \
      -d <destination path> \
      [-c "<condition>" | -fullTable] \
      [-b/-before <before days>] \
      [-p/-parallel <parallelism>] \
      [-s/-storagePolicy <OSS storage policy>] \
      [-o/-overWrite] \
      [-r/-removeSource] \
      [-skipTrash] \
      [-e/-explain] \
      [-l/-logDir <log directory>]
    Parameter Deskripsi Wajib
    -t <dbName.tableName> Nama tabel yang akan dipindahkan. Gunakan format database_name.table_name.

    Nama database dan nama tabel dipisahkan oleh titik (.). Tabel dapat berupa tabel partisi atau non-partisi.

    Ya
    -d <destination path> Jalur tujuan. Baik Anda memindahkan partisi maupun seluruh tabel non-partisi, jalur ini sesuai dengan lokasi tingkat tabel. Jika Anda memindahkan partisi, jalur lengkap partisi tersebut adalah jalur tujuan ditambah nama partisi, misalnya <destination path>/p1=v1/p2=v2/. Ya
    -c "<condition>" | -fullTable Anda harus menentukan salah satu dari -c "<condition>" atau -fullTable.
    • Jika Anda menentukan -fullTable, seluruh tabel dipindahkan. Tabel dapat berupa tabel partisi atau non-partisi.
    • Jika Anda menentukan -c "<condition>", kondisi filter disediakan 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 di mana nama partisi lebih besar dari 'd', gunakan -c " ds > 'd' ".

    Tidak
    -b/before <before days> Hanya memindahkan tabel atau partisi yang dibuat lebih dari jumlah hari tertentu yang lalu. Tidak
    -p/-parallel <parallelism> Tingkat paralelisme untuk operasi migrasi. Tidak
    -s/-storagePolicy <OSS storage policy> Kebijakan penyimpanan untuk data yang disalin ke OSS. Kebijakan berikut tersedia:
    • Standard: (Archive Storage).
    • IA: Infrequent Access (IA) storage.
    • Storage class: Standard
    • ColdArchive: Cold Archive storage.
      Catatan Pastikan fitur ini telah diaktifkan untuk Bucket OSS Anda sebelum menggunakan kebijakan ini.
    Tidak
    -o/-overWrite Menentukan apakah akan menimpa jalur tujuan. Untuk tabel partisi, opsi ini hanya mengosongkan jalur partisi yang akan dipindahkan, bukan seluruh jalur tabel. Tidak
    -r/-removeSource Menentukan apakah akan menghapus data sumber setelah migrasi selesai dan metadata diperbarui. Untuk tabel partisi, opsi ini hanya menghapus jalur sumber dari partisi yang berhasil dipindahkan. Tidak
    -skipTrash Menentukan apakah akan melewati Trash saat jalur sumber dihapus.
    Catatan Parameter ini hanya berlaku ketika -r/-removeSource ditentukan.
    Tidak
    -e/-explain Jika opsi ini ditentukan, perintah berjalan dalam mode explain. Perintah ini mencantumkan partisi yang akan dipindahkan tetapi tidak benar-benar memindahkan data apa pun. Tidak
    -l/-logDir <log directory> Menentukan direktori untuk file log. Tidak

Mengonfigurasi direktori kunci

Tool MoveTo menggunakan kunci proses, yang memerlukan jalur Hadoop Distributed File System (HDFS) untuk menyimpan file LOCK. Secara default, jalurnya adalah hdfs:///tmp/jindotable-lock/.
Penting Jalur untuk file LOCK harus berupa jalur HDFS. Jika Anda tidak memiliki izin yang diperlukan untuk jalur default, ikuti langkah-langkah berikut untuk mengonfigurasi jalur khusus.
  1. Buka halaman layanan HDFS.
    1. Masuk ke Alibaba Cloud E-MapReduce console.
    2. Di bilah menu atas, pilih wilayah dan kelompok sumber daya tempat kluster Anda berada.
    3. Klik tab Clusters.
    4. Di halaman Clusters, klik Details pada baris kluster yang diinginkan.
    5. Di panel navigasi kiri, pilih Services.
  2. Ubah konfigurasi.
    1. Di halaman layanan HDFS, klik tab Configure. Lalu, klik tab hdfs-site atau core-site.
    2. Di pojok kanan atas, klik Custom Configuration.
      hdfs-site
    3. Di kotak dialog Add Configuration Item, tambahkan item konfigurasi jindotable.moveto.tablelock.base.dir dan atur nilainya ke jalur HDFS yang ada.
      Penting Sebelum mengonfigurasi direktori kunci khusus, pastikan tidak ada proses MoveTo yang sedang berjalan di node mana pun dalam kluster. Jika tidak, operasi MoveTo dapat gagal atau menyebabkan korupsi data.
  3. Simpan konfigurasi.
    1. Di pojok kanan atas, klik Save.
    2. Di kotak dialog Confirm, masukkan alasan perubahan dan klik OK.